advancedxy opened a new pull request #25814: [SPARK-19926][PYSPARK] make 
captured exception from JVM side user friendly
URL: https://github.com/apache/spark/pull/25814
 
 
   ### What changes were proposed in this pull request? 
   The str of `CapaturedException` is now returned by str(self.desc) rather 
than repr(self.desc), which is more user-friendly. It also handles unicode 
under python2 specially.
   
   
   ### Why are the changes needed?
   This is an improvement, and makes exception more human readable in python 
side.
   
   ### Does this PR introduce any user-facing change?
   Before this pr,  select `中文字段` throws exception something likes below:
   
   ```
   Traceback (most recent call last):
     File 
"/Users/advancedxy/code_workspace/github/spark/python/pyspark/sql/tests/test_utils.py",
 line 34, in test_capture_user_friendly_exception
       raise e
   AnalysisException: u"cannot resolve '`\u4e2d\u6587\u5b57\u6bb5`' given input 
columns: []; line 1 pos 7;\n'Project ['\u4e2d\u6587\u5b57\u6bb5]\n+- 
OneRowRelation\n"
   ```
   
   after this pr:
   ```
   Traceback (most recent call last):
     File 
"/Users/advancedxy/code_workspace/github/spark/python/pyspark/sql/tests/test_utils.py",
 line 34, in test_capture_user_friendly_exception
       raise e
   AnalysisException: cannot resolve '`中文字段`' given input columns: []; line 1 
pos 7;
   'Project ['中文字段]
   +- OneRowRelation
   
   ```
   ### How was this patch 
   Add a new test to verify unicode are correctly converted and manual checks 
for thrown exceptions.
   
   This pr's credits should go to @uncleGen and is based on 
https://github.com/apache/spark/pull/17267
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to