diff options
author | Mahmoud Lababidi <mahmoud@thehumangeo.com> | 2015-10-18 11:39:19 -0700 |
---|---|---|
committer | Josh Rosen <joshrosen@databricks.com> | 2015-10-18 11:39:19 -0700 |
commit | a337c235a12d4ea6a7d6db457acc6b32f1915241 (patch) | |
tree | 7f89553dfac85283074c9a316f1d6d586c599fde /python/pyspark/sql | |
parent | 8d4449c7f5d528410306c288a042c4594b81a881 (diff) | |
download | spark-a337c235a12d4ea6a7d6db457acc6b32f1915241.tar.gz spark-a337c235a12d4ea6a7d6db457acc6b32f1915241.tar.bz2 spark-a337c235a12d4ea6a7d6db457acc6b32f1915241.zip |
[SPARK-11158][SQL] Modified _verify_type() to be more informative on Errors by presenting the Object
The _verify_type() function had Errors that were raised when there were Type conversion issues but left out the Object in question. The Object is now added in the Error to reduce the strain on the user to debug through to figure out the Object that failed the Type conversion.
The use case for me was a Pandas DataFrame that contained 'nan' as values for columns of Strings.
Author: Mahmoud Lababidi <mahmoud@thehumangeo.com>
Author: Mahmoud Lababidi <lababidi@gmail.com>
Closes #9149 from lababidi/master.
Diffstat (limited to 'python/pyspark/sql')
-rw-r--r-- | python/pyspark/sql/types.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/python/pyspark/sql/types.py b/python/pyspark/sql/types.py index 1f86894855..5bc0773fa8 100644 --- a/python/pyspark/sql/types.py +++ b/python/pyspark/sql/types.py @@ -1127,15 +1127,15 @@ def _verify_type(obj, dataType): return _type = type(dataType) - assert _type in _acceptable_types, "unknown datatype: %s" % dataType + assert _type in _acceptable_types, "unknown datatype: %s for object %r" % (dataType, obj) if _type is StructType: if not isinstance(obj, (tuple, list)): - raise TypeError("StructType can not accept object in type %s" % type(obj)) + raise TypeError("StructType can not accept object %r in type %s" % (obj, type(obj))) else: # subclass of them can not be fromInternald in JVM if type(obj) not in _acceptable_types[_type]: - raise TypeError("%s can not accept object in type %s" % (dataType, type(obj))) + raise TypeError("%s can not accept object %r in type %s" % (dataType, obj, type(obj))) if isinstance(dataType, ArrayType): for i in obj: |