如何从镶木地板专栏

时间:2017-09-22 22:25:45

标签: apache-spark pyspark spark-dataframe

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

Parquet文件架构:

DF.printSchema()
  


  | - decompressed:string(nullable = true)

镶木地板文件中的示例记录

DF.show(1,False)

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

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

1 个答案:

答案 0 :(得分:1)

您只能对文件(而不是RDD / DF)应用数据库onResponse包。这里唯一的选择是使用PaginationCallBack将DF保存在某些临时路径下作为文本文件并读取新保存的文件。

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