【发布时间】:2018-12-23 21:41:40
【问题描述】:
我拥有的数据集充满了嵌套字段。例如data.take(1) 的输出有 9 列,其中第 4 列 (c4) 有 3 个子字段,而 c4 的第 1 列有 3 个子字段,依此类推。
格式有点像这样
[A,B,C,[[d1,d2,d3],D2,D3],E,[F1,[f1,[f21,f22,f23],f3,f4],F3,F4],G,H,I]
我想要一个数组数据结构的数组(然后可以展开为单个数组)。
只是为了让数据看起来更清晰:
A
B
C
D
-D1
-d1
-d2
-d3
-D2
-D3
E
F
-F1
-F2
-f1
-f2
-f21
-f22
-f23
-f3
-f4
-F3
-F4
G
H
I
当然,我可以编写一个解析程序,它会递归地搜索给定记录的子字段并生成此树结构(作为数组的数组)。不过,我希望 Spark 中有一个更简单、更高效的预构建例程,可以直接处理这个问题。
我们将不胜感激 Spark-Scala 或 PySpark 中的任何答案。
【问题讨论】:
-
那么,您基本上想知道您的数据集/数据框的架构?
-
@addmeaning 是的,没错。事实上,我将架构作为 AVSC 文件,但我不确定如何将架构映射到这些记录,因为数据不容易采用 JSON 格式。
标签: database scala apache-spark pyspark