itholic opened a new pull request, #44292:
URL: https://github.com/apache/spark/pull/44292

   
   ### What changes were proposed in this pull request?
   
   This PR proposes to introduce `getMessage` to provide a standardized way for 
users to obtain a concise and clear error message.
   
   ### Why are the changes needed?
   
   Previously, extracting a simple and informative error message in PySpark was 
not straightforward. The internal `ErrorClassesReader.get_error_message` method 
was often used, but for JVM-originated errors not defined in 
`error_classes.py`, obtaining a succinct error message was challenging.
   
   The new `getMessage` API harmonizes error message retrieval across PySpark, 
leveraging existing JVM implementations to ensure consistency and clarity in 
the messages presented to the users.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes, this PR introduces a `getMessage` for directly accessing simplified 
error messages in PySpark.
   
   - **Before**: No official API for simplified error messages; excessive 
details in the error output:
       ```python
       from pyspark.sql.utils import AnalysisException
       
       try:
           spark.sql("""SELECT a""")
       except AnalysisException as e:
           str(e)
       # "[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column, variable, or 
function parameter with name `a` cannot be resolved.  SQLSTATE: 42703; line 1 
pos 7;\n'Project ['a]\n+- OneRowRelation\n"
       ```
   
   - **After**: The `getMessage` API provides streamlined, user-friendly error 
messages:
       ```python
       from pyspark.sql.utils import AnalysisException
       
       try:
           spark.sql("""SELECT a""")
       except AnalysisException as e:
           e.getMessage()
       # '[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column, variable, or 
function parameter with name `a` cannot be resolved.  SQLSTATE: 42703'
       ```
   
   
   
   ### How was this patch tested?
   
   Added UTs.
   
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   No.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to