【问题标题】:Spark: Expansion of RDD(Key, List) to RDD(Key, Value)Spark:RDD(Key, List) 到 RDD(Key, Value) 的扩展
【发布时间】:2019-06-06 05:21:14
【问题描述】:

所以我有一个类似这样的 RDD

RDD[(Int, List)]]

RDD 中单个元素的样子

(1, List(1, 2, 3))

我的问题是如何将键值对扩展为类似这样的内容

(1,1)
(1,2)
(1,3)

谢谢

【问题讨论】:

    标签: apache-spark key-value rdd


    【解决方案1】:

    rdd.flatMap { case (key, values) => values.map((key, _)) }

    【讨论】:

      【解决方案2】:

      在 Python 中(基于@seanowen 的回答):

      rdd.flatMap(lambda x: map(lambda e: (x[0], e), x[1]))
      

      【讨论】:

      • 感谢 python 端口 :) 你的意思是 rdd.flatMap(lambda x: map(lambda e: (x[0], e), x[1])) - 你能检查一下吗?
      • 不再参与这个项目所以很遗憾无法检查,但如果答案不正确并且您可以验证相反的顺序是正确的,请随时编辑。
      猜你喜欢
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2011-03-19
      • 1970-01-01
      • 2015-05-15
      相关资源
      最近更新 更多