【问题标题】:Spark reduce by some keys in reduceByKey通过reduceByKey中的一些键Spark reduce
【发布时间】:2016-06-03 12:33:15
【问题描述】:

将大文件加载到RDD0 后,我创建(非常耗时)RDD1

((k1,k2), value)

并申请reduceByKey。对于RRD0,我需要创建一对RDD2

((k1,k3), value)

它的创建同样耗时,并应用另一个reduceByKey

我可以创建一对RDD12

((k1,k2,k3), value)

并首先在(k1,k2) 上应用reduceByKey,然后在(k1,k3) 上应用,这样我就可以节省时间而不是创建RDD1RDD2

【问题讨论】:

    标签: python scala apache-spark mapreduce


    【解决方案1】:

    您的第一个操作应该是flatMap 并返回

    [((k1,k2), value1), ((k1,k3)), value2)]
    

    然后运行reduceByKey,你就会得到你的结果

    【讨论】:

    • 感谢您的回复。返回的元素是什么类型,如何对其进行reduceByKey,即如何选择哪个key?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 2016-02-25
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    相关资源
    最近更新 更多