0
我想加入2 PairRDD在火花和不知道如何迭代結果。斯卡拉 - 火花 - 迭代結合對RDD
val input1 = sc.textFile(inputFile1)
val input2 = sc.textFile(inputFile2)
val pairs = input1.map(x => (x.split("\\|")(18),x))
val groupPairs = pairs.groupByKey()
val staPairs = input2.map(y => (y.split("\\|")(0),y))
val stagroupPairs = staPairs.groupByKey()
val finalJoined = groupPairs.leftOuterJoin(stagroupPairs)
finalJoined是類型finalJoined的:
org.apache.spark.rdd.RDD[(String, (Iterable[String], Option[Iterable[String]]))]
當我做finalJoined.collect().foreach(println)
我看到下面的輸出:
(key1,(CompactBuffer(val1a,val1b),Some(CompactBuffer(val1)))
(key2,(CompactBuffer(val2a,val2b),Some(CompactBuffer(val2)))
我想輸出是
爲key1
val1a+"|"+val1
val1b+"|"+val1
爲KEY2
val2a+"|"+val2
感謝。我刪除了groupBy,並使用額外的格式獲得了預期的結果。 – Nats