Repository: spark
Updated Branches:
  refs/heads/master 8d4449c7f -> a337c235a


[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 <[email protected]>
Author: Mahmoud Lababidi <[email protected]>

Closes #9149 from lababidi/master.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/a337c235
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/a337c235
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/a337c235

Branch: refs/heads/master
Commit: a337c235a12d4ea6a7d6db457acc6b32f1915241
Parents: 8d4449c
Author: Mahmoud Lababidi <[email protected]>
Authored: Sun Oct 18 11:39:19 2015 -0700
Committer: Josh Rosen <[email protected]>
Committed: Sun Oct 18 11:39:19 2015 -0700

----------------------------------------------------------------------
 python/pyspark/sql/types.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/a337c235/python/pyspark/sql/types.py
----------------------------------------------------------------------
diff --git a/python/pyspark/sql/types.py b/python/pyspark/sql/types.py
index 1f86894..5bc0773 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:


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

Reply via email to