我的火花流作业解压缩压缩的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 回答
您只能在文件上应用databricks
spark-xml
包(不在RDD / DF上) . 这里唯一的选择是使用DF.write.text()
将DF保存在某些临时路径下作为文本文件,并读取新保存的文件 .但是这里有一个问题 - 为什么你在你的火花流工作中将XML保存为单列拼花文件?为什么不计划
spark-xml
包可读的文本文件?