xml - Spark Dataset write()方法返回错误

标签 xml csv hadoop apache-spark dataset

我正在尝试使用Databricks库加载XML文件并将数据写入文件,但无法将输出data(array<string>)写入csv文件。

我收到以下错误:

Exception in thread "main" java.lang.UnsupportedOperationException: CSV data source does not support array<string> data type.

当我打印数据集时,它的打印如下:
+--------------------+
|             orgname|
+--------------------+
|[Muncy, Geissler,...|
|[Muncy, Geissler,...|
|[Knobbe Martens O...|
|[null, Telekta La...|
|[McAndrews, Held ...|
|[Notaro, Michalos...|
|                null|
|[Cowan, Liebowitz...|
|                null|
|[Kunzler Law Grou...|
|[null, null, Klei...|
|[Knobbe, Martens,...|
|[Merchant & Gould...|
|                null|
|[Culhane Meadows ...|
|[Culhane Meadows ...|
|[Vista IP Law Gro...|
|[Thompson & Knigh...|
|  [Fish & Tsang LLP]|
|                null|
+--------------------+

最佳答案

异常(exception)应该是不言自明的。您不能将数组写入CSV文件。

您必须将其串联为一个字符串:

import org.apache.spark.sql.functions.concat_ws

val separator: String = ";"  // Choose appropriate one in your case

df.withColumn("orgname", concat_ws(separator, $"orgname")).write.csv(...)

关于xml - Spark Dataset write()方法返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48563150/

相关文章:

Jquery 与 JSON 数组 - 转换为 Javascript 数组

xml - xsd 相同的元素,不同的类型?

PHP、MySQL - 加载大约 100k 记录并将其导出到 xml

asp.net - 将静态数据存储在数据库或文件系统中

java - 在hadoop map 上查找百分比减少

c - strcat 从结构中读取 csv 文件时出错

performance - Go 中 CSV 和 map 的性能不佳

python - 将 json 对象与 csv 文件进行比较

apache-spark - 无法在 yarn 簇上运行 Spark 作业:连接失败异常

java - mapreduce错误:java.lang.indexoutofboundsexception:index:2,size:2