我的Spark流式作业将压缩的XML文件解压缩,并将其作为字符串作为parquet文件附加。我的批处理作业读取了镶木木文件。该文件仅包含一个列解压缩XML字符串。
镶木架模式:
DF.printSchema()
root
| - 解压缩:字符串(nullable = true)
parquet文件中的示例记录
DF.show(1,False)
|decompress
------------------------------------------------+
|<Sale><ItemID >10</ItemID>......</Sale>
有什么方法可以在其上应用数据砖XML软件包来提取XML元素。除了编写UDF以外,我还有其他选择吗?我将UDF作为第二种选择,考虑到UDF需要更多的时间来处理。
您只能在文件上应用Databricks spark-xml
软件包(不在RDD/DF上)。这里唯一的选择是使用DF.write.text()
将您的DF作为文本文件保存为文本文件并读取新保存的文件。
但这是一个问题 - 为什么在火花流动作业中保存XML作为单列木板文件?为什么不计划spark-xml
软件包可读取的文本文件?