/ / Spark SQL - La conversion en UUID de la colonne de données lève une exception d'analyse syntaxique - apache-spark, apache-spark-sql

Spark SQL - La conversion en UUID de la colonne de données lève une exception d'analyse syntaxique - apache-spark, apache-spark-sql

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

Lorsque nous avons essayé de convertir la colonne de l'ensemble de données en UUID et de la conserver dans Postgres, je vois l'exception suivante. Veuillez suggérer une autre solution pour convertir la colonne d'un ensemble de données en 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)
---------------------^^^

Réponses:

1 pour la réponse № 1

Spark n'a pas de type uuid, aussi le fait de lancer l'un sur l'autre ne fonctionne pas.

Vous pouvez essayer d'utiliser database.column.type métadonnées comme expliqué dans Types de données personnalisés pour les colonnes DataFrame lors de l'utilisation de Spark JDBC et SPARK-10849.