【问题标题】:Can reduceByKey be used for multiple values?reduceByKey 可以用于多个值吗?
【发布时间】:2018-10-20 19:17:43
【问题描述】:

我刚刚开始学习 spark 和 scala 并测试 RDD 上的一些转换和操作。

我发现reduceByKey的用法如下:

rdd.reduceByKey((x, y) => x + y)

其中,它采用两个相同值的元组,并使用加法运算将它们组合起来。

现在我的问题是,我们不能一次将两个以上的值相加,或者一次将所有具有相同键的值相加吗?像这样的:

rdd.reduceByKey((p, q, r, s) => p+q+r+s)

为什么只添加两个值?添加两个以上的值也可以节省大量计算?

【问题讨论】:

    标签: scala apache-spark rdd sparkcore


    【解决方案1】:

    从技术上讲,spark 可以提供这样的 API,但实际上不会有用。

    一次减少更多值不一定更快。如果 Spark RDD 是基于列的,这可能是正确的,但它们不是。 Spark 是基于行的。

    【讨论】:

    • Spark 是基于行的?我认为你的意思是 RDD。 DF,DS 不是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多