【问题标题】:How to flatten value tuple of a key-value tuple?如何展平键值元组的值元组?
【发布时间】:2017-08-11 11:35:58
【问题描述】:

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

我试过了:

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

但是,我收到以下错误:

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

【问题讨论】:

    标签: scala apache-spark scala-collections


    【解决方案1】:

    看起来你想要flatMapValues:

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

    【讨论】:

      【解决方案2】:

      扁平化值部分应该通过做来解决

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

      如果您希望 flatten key 使用每个 iterable 值,那么以下应该可以解决您的问题

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

      【讨论】:

        猜你喜欢
        • 2022-10-24
        • 2020-06-22
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 1970-01-01
        • 2012-11-21
        • 1970-01-01
        • 2019-07-22
        相关资源
        最近更新 更多