如何合并RDD中的数组

How to merge Arrays in RDD

我是 Spark 的新手。我有以下 RDD[Array[(String, String, String)]]

val r1 = sc.parallelize(Array(Array(("123","456","789"),("AAA","BBB","CCC")),Array(("DDD","EEE","FFF"),("E1","E2","E3"))))

我想像这样合并数组

Array((123,456,789), (AAA,BBB,CCC), (DDD,EEE,FFF), (E1,E2,E3))

我可以用 r1.reduce(_ ++ _) 做到这一点。但是,我想使用像地图这样的转换函数,而不是动作函数。有可能这样做吗?我正在使用 Spark 1.3.1。

谢谢

你可以这样做:

val res: RDD[(String, String, String)] = r1.flatMap(identity)