【发布时间】:2021-10-03 17:52:05
【问题描述】:
我正在使用 PySpark,我想将一个字符串数组插入到具有 JDBC 驱动程序的数据库中,但出现以下错误:
IllegalArgumentException: Can't get JDBC type for array<string>
当我有 UDF 的 ArrayType(StringType()) 格式时会发生此错误。当我尝试覆盖列类型时:
.option("createTableColumnTypes", "col1 ARRAY, col2 ARRAY, col3 ARRAY, col4 ARRAY")
我明白了:
DataType array is not supported.(line 1, pos 18)
这让我想知道问题是否在 Spark 3.1.2 中,其中没有数组映射,我必须将其转换为字符串,还是来自我正在使用的驱动程序?
作为参考,我使用CrateDB 作为数据库。这是它的驱动程序:crate.io/docs/jdbc/en/latest
【问题讨论】:
-
你用的是什么驱动?
-
刚刚更新了引用驱动的问题
标签: apache-spark jdbc pyspark apache-spark-sql cratedb