pra*_*ack 1 apache-spark apache-spark-sql
我正在尝试使用 Spark SQL 中的自定义数据类型将数据集中的列从 varchar 转换为 UUID。但我看到转换没有发生。如果我在这里遗漏了什么,请告诉我。
val secdf = sc.parallelize( Array(("85d8b889-c793-4f23-93e9-ea18db640039","Revenue"), ("85d8b889-c793-4f23-93e9-ea18db640038","Income:123213"))).toDF("id", "report")
val metadataBuilder = new MetadataBuilder()
metadataBuilder.putString("database.column.type", "uuid")
metadataBuilder.putLong("jdbc.type", java.sql.Types.OTHER)
val metadata = metadataBuilder.build()
val secReportDF = secdf.withColumn("id", col("id").as("id", metadata))
Run Code Online (Sandbox Code Playgroud)
我做了解决办法,因为我们无法在 Spark SQL 中转换为 UUID,我已在 Postgres JDBC 客户端中将属性添加为 stringtype=unspecified,这解决了我在通过 Spark JDBC 插入 UUID 中的问题
| 归档时间: |
|
| 查看次数: |
2022 次 |
| 最近记录: |