【问题标题】:How to flatten multiple zipped RDDs?如何展平多个压缩 RDD?
【发布时间】:2019-11-20 04:11:01
【问题描述】:

我已经压缩了三个 RDD,结果得到了一个嵌套结构。

val rdd1 = sc.parallelize(List(1, 2, 3))
val rdd2 = sc.parallelize(List(3, 4, 5))
val rdd3 = sc.parallelize(List(6, 7, 8))

val finalRDD = rdd1.zip(rdd2).zip(rdd3)

finalRDD 看起来像

((1,3),6)
((2,4),7)
((3,5),8)

如何将结构展平为以下?

(1,3,6)
(2,4,7)
(3,5,8)

【问题讨论】:

  • 只需映射它。 val finalRDD = rdd1.zip(rdd2).zip(rdd3).map { case ((a, b), c) => (a, b, c) }

标签: scala apache-spark rdd


【解决方案1】:

这样的东西应该可以工作

finalRDD.map(r => (r._1._1,r._1._2,r._2))

【讨论】:

    猜你喜欢
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    相关资源
    最近更新 更多