如何从Parquet列中提取XML字符串



我的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软件包可读取的文本文件?

相关内容

  • 没有找到相关文章

最新更新