Spark SQL - 转换为数据集列的UUID会抛出Parse Exception

时间:2018-03-29 20:27:55

标签: apache-spark apache-spark-sql

Dataset<Row> finalResult = df.selectExpr("cast(col1 as uuid())", "col2");

当我们尝试将数据集中的Column强制转换为UUID并在Postgres中保留时,我看到以下异常。请建议将数据集中的列转换为UUID的备用解决方案。

java.lang.RuntimeException: org.apache.spark.sql.catalyst.parser.ParseException: 
DataType uuid() is not supported.(line 1, pos 21)

== SQL ==
cast(col1 as UUID)
---------------------^^^

1 个答案:

答案 0 :(得分:1)

Spark没有uuid类型,因此转换为一个就行不通。

您可以尝试使用Custom Data Types for DataFrame columns when using Spark JDBCSPARK-10849中所述的database.column.type元数据属性。