2016-02-10 70 views
0

我有RDD喜歡(a,b,數組(p1,p2,p3),c),我想在數組中應用flatmap以獲得如下的輸出。 (A,B,P1,C) (A,B,P2,C) (A,B,P3,C)在數組中的部分數值的斯卡拉平面圖

+1

那麼,你卡在哪裏? –

+0

從java回到地面,我很新的斯卡拉尋找一些代碼片段應用flatmap陣列在價值的部分.. – prakash

回答

4

代碼:

val arr = Array(("a1", "b1", Array("1", "2", "3")),("a1", "b1", Array("1", "2", "3"))) 
val rdd: RDD[(String, String, Array[String])] = sc.parallelize(arr) 
val result = rdd.flatMap { 
    case (first, second, third) => { 
    third.map(x => (first, second, x)) 
}} 

println("Results: " + result.collect.mkString("|")) 

結果:

Results: (a1,b1,1)|(a1,b1,2)|(a1,b1,3)|(a1,b1,1)|(a1,b1,2)|(a1,b1,3) 
+0

謝謝布萊恩,工作完美 – prakash