Как объединить массивы в RDD

Я новичок в Спарк. У меня есть следующий 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(_ ++ _), Однако я хочу использовать функции Transformations, такие как map, а не Actions. Возможно ли это сделать? Я использую Spark 1.3.1.

Спасибо

1 ответ

Решение

Ты можешь сделать:

val res: RDD[(String, String, String)] = r1.flatMap(identity)
Другие вопросы по тегам