如何合并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)
我是 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)