Simeon Simeonov created SPARK-10186:
---------------------------------------

             Summary: Inconsistent handling of complex column types in external 
databases
                 Key: SPARK-10186
                 URL: https://issues.apache.org/jira/browse/SPARK-10186
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 1.4.1
         Environment: Ubuntu on AWS
            Reporter: Simeon Simeonov


The specific observations below are based on Postgres 9.4 tables accessed via 
the postgresql-9.4-1201.jdbc41.jar driver. However, based on the behavior, I 
would expect the problem to exists for all external SQL databases.

- *json and jsonb columns generate {{java.sql.SQLException: Unsupported type 
1111}}*. While it is reasonable to not support dynamic schema discovery of JSON 
columns automatically (it requires two passes over the data), a better behavior 
would be to create a String column and return the JSON.
- *Array columns generate {{java.sql.SQLException: Unsupported type 2003}}*. 
This is true even for simple types, e.g., {{text[]}}. A better behavior would 
be be create an Array column. 
- *Custom type columns are mapped to a String column.* This behavior is harder 
to understand as the schema of a custom type is fixed and therefore mappable to 
a Struct column. The automatic conversion to a string is also inconsistent when 
compared to json and array column handling.

The exceptions are throw by 
{{org.apache.spark.sql.jdbc.JDBCRDD$.org$apache$spark$sql$jdbc$JDBCRDD$$getCatalystType(JDBCRDD.scala:100)}}
 so this definitely looks like a Spark SQL and not a JDBC problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to