gpt4 book ai didi

uuid - 在 org.apache.spark.sql.types.DataTypes 中找不到 uuid

转载 作者:行者123 更新时间:2023-12-04 11:47:37 25 4
gpt4 key购买 nike

我们有一个 PostgreSQL 表,其中 UUID 作为列之一。我们如何将 Spark 数据集中的 UUID 字段(使用 Java)发送到 PostgreSQL DB。
我们无法在 org.apache.spark.sql.types.DataTypes 中找到 uuid 字段。

请指教。

最佳答案

正如已经指出的,尽管这些已解决的问题( 101865753 )仍然没有受支持的 uuid从 Spark 2.3.0 开始的 Postgres 数据类型。
然而,there's a workaround通过使用 Spark 的 SaveMode.Append并设置 Postgres JDBC property to allow string types to be inferred .简而言之,它的工作原理如下:

    val props = Map(
JDBCOptions.JDBC_DRIVER_CLASS -> "org.postgresql.Driver",
"url" -> url,
"user" -> user,
"stringtype" -> "unspecified"
)

yourData.write.mode(SaveMode.Append)
.format("jdbc")
.options(props)
.option("dbtable", tableName)
.save()
该表应使用已定义为类型 uuid 的 uuid 列创建。 .但是,如果您尝试让 Spark 2.3.0 创建此表,您将再次碰壁:
    yourData.write.mode(SaveMode.Overwrite)
.format("jdbc")
.options(props)
.option("dbtable", tableName)
.option("createTableColumnTypes", "some_uuid_column_name uuid")
.save()
结果:

DataType uuid is not supported.(line 1, pos 21)

关于uuid - 在 org.apache.spark.sql.types.DataTypes 中找不到 uuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47368906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com