0

(a,b,Array(p1,p2,p3),c) のような RDD があります。値内の配列に flatmap を適用して、以下のような出力を取得したいと考えています。(a,b,p1,c) (a,b,p2,c) (a,b,p3,c)

4

1 に答える 1

6

コード:

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)
于 2016-02-10T22:09:13.760 に答える