如何展平Spark数据集中的嵌套字段?

时间:2018-06-28 23:54:19

标签: scala apache-spark

我有如下嵌套字段。我想打电话给flatmap(我认为)以产生一个扁平化的行。

我的数据集有

  

A,B,[[x,y,z]],C

我想将其转换为产生类似的输出

  

A,B,X,Y,Z,C

这适用于Spark 2.0 +

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用RDD:

val rdd = sc.parallelize(Seq(("A","B",Array("X","Y","Z"),"C")))

rdd.flatMap(x => (Option(x._3).map(y => (x._1,x._2,y(0),y(1),y(2),x._4 )))).collect.foreach(println)

输出:

(A,B,X,Y,Z,C)