Scala Spark写入数据帧输出jdbc错误

Scala Spark写入数据帧输出jdbc错误,scala,jdbc,apache-spark,Scala,Jdbc,Apache Spark,我想这样将预测结果数据帧写回oracle数据库: model.transform(testDate).write.mode(SaveMode.Overwrite).jdbc(url,“b_spark_tst”,prop) 但我得到了这个错误信息: Exception in thread "main" java.lang.IllegalArgumentException: Can't get JDBC type for array<string> 我也遇到了同样的问题,这与您试图在w

我想这样将预测结果数据帧写回oracle数据库: model.transform(testDate).write.mode(SaveMode.Overwrite).jdbc(url,“b_spark_tst”,prop)

但我得到了这个错误信息:

Exception in thread "main" java.lang.IllegalArgumentException: Can't get JDBC type for array<string>

我也遇到了同样的问题,这与您试图在words字段数组中保存元素字段的方式有关。一种解决方案是将该数组另存为字符串

就我而言,我有:

 |-- jurisdiction_names: array (nullable = true)
 |    |-- element: string (containsNull = true)
我使用pyspark所做的是

newDataFrame = completeDataFrame.select("jurisdiction_names")
我越来越

+--------------------+
|  jurisdiction_names|
+--------------------+
|             [Paris]|
|         [Amsterdam]|
|      [Santa Monica]|
|[DISTRICT OF COLU...|
|             [Paris]|
|[Illinois State, ...|
+--------------------+

使用新的数据框,您可以轻松地处理信息。

您希望覆盖的表是如何定义的?数据帧的模式结构看起来如何?使用模式结构更新。我认为文字专栏会是个问题。我还没有在数据库中创建我的表。。我应该吗?:)如果我修改我的代码:model.transform(testDate)。选择(“CATEG”、“COMM”、“label”、“fatures”、“rawPrediction”、“probability”、“prediction”)。write.mode(SaveMode.Append)。jdbc(url,“b_spark_tst”,prop)我会看到标签异常(只尝试一列,创建并附加到现有表中,在此处提供作为注释的结果。原因:java.sql.BatchUpdateException:ORA-12899:值对于列“KALLER_USR”、“B_SPARK_TST”、“COMM”太大(实际值:291,最大值:255怎么会发生?我已经用varchar(4000)创建了表) columns@NathanTuggy,你能检查一下并提供解决方案吗?@CodeRunner:不要用ping命令询问某个特定问题的人。如果他们能提供帮助,他们可能无论如何都会看到,并且不喜欢被窃听。(ping一个随机编辑器更糟糕:我对Spark一无所知,所以即使我想帮你,我也不能给你一点帮助。)
+--------------------+
|  jurisdiction_names|
+--------------------+
|             [Paris]|
|         [Amsterdam]|
|      [Santa Monica]|
|[DISTRICT OF COLU...|
|             [Paris]|
|[Illinois State, ...|
+--------------------+