首页 文章

如何从镶木地板列中提取XML字符串

提问于
浏览
-1

我的火花流作业解压缩压缩的XML文件,并将其作为字符串附加到镶木地板文件 . 我的批处理作业读取镶木地板文该文件只包含一列解压缩的xml字符串 .

Parquet文件架构:

DF.printSchema()

root | - decompressed:string(nullable = true)

拼花文件中的样本记录

DF.show(1,False)

|decompress                                                           
------------------------------------------------+ 
|<Sale><ItemID >10</ItemID>......</Sale>

有什么方法可以在其上应用数据砖XML包来提取xml元素 . 除了编写UDF之外,我还有其他选择吗?我将UDF作为第二选择,考虑到UDF需要更多时间来处理 .

1 回答

  • 1

    您只能在文件上应用databricks spark-xml 包(不在RDD / DF上) . 这里唯一的选择是使用 DF.write.text() 将DF保存在某些临时路径下作为文本文件,并读取新保存的文件 .

    但是这里有一个问题 - 为什么你在你的火花流工作中将XML保存为单列拼花文件?为什么不计划 spark-xml 包可读的文本文件?

相关问题