如何平衡键值元组的值元组?

时间:2017-08-11 11:35:58

标签: scala apache-spark scala-collections

我有一个类似[(Int, Iterable[Int])]的RDD(键值格式)。我想要平价价值部分。

我试过了:

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

但是,我收到以下错误:

  

错误:值_2不是Any的成员            rdd.productIterator.foreach(x => x._2.productIterator.foreach(print))

2 个答案:

答案 0 :(得分:1)

看起来你想要flatMapValues

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

答案 1 :(得分:0)

扁平化值部分应该通过

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

如果您希望使用可迭代值中的flatten ,那么以下内容可以解决您的问题

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