2017-08-11 95 views
0

我有一個像[(Int, Iterable[Int])](鍵值格式)的RDD。我想扁平化價值部分。如何扁平化鍵值元組的值元組?

我曾嘗試:

rdd.productIterator.foreach(x => x._2.productIterator.foreach(print)) 

不過,我得到以下錯誤:

error: value _2 is not a member of Any rdd.productIterator.foreach(x => x._2.productIterator.foreach(print))

回答

0

扁平化的價值部分應做

rdd.flatMap(x => x._2.map(y => y)).foreach(println) 

來解決。如果你正在尋找到flatten關鍵與每個在迭代值然後下面應該解決您的問題

rdd.flatMap(x => x._2.map(y => (x._1, y))).foreach(println) 
1

它看起來像你想flatMapValues

val rdd: RDD[(Int, Iterable[Int])] = sc.parallelize(Seq((1, Seq(1, 2, 3)))) 
rdd.flatMapValues(idenitity)