如何在RDD中合并数组

时间:2016-08-18 12:58:24

标签: scala apache-spark rdd sparkcore bigdata

我是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"))))

我想在其中合并Arrays,如

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

我可以使用r1.reduce(_ ++ _)执行此操作。但是,我想使用转换函数,如map,而不是Actions。有可能吗?我使用的是Spark 1.3.1。

谢谢

1 个答案:

答案 0 :(得分:3)

你可以这样做:

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