gpt4 book ai didi

hadoop - “Combiner"mapreduce 作业中的类

转载 作者:可可西里 更新时间:2023-11-01 14:09:06 27 4
gpt4 key购买 nike

Combiner 在 Mapper 之后和 Reducer 之前运行,它将接收由给定节点上的 Mapper 实例发出的所有数据作为输入。然后向 Reducers 发出输出。

而且,如果 reduce 函数既是可交换的又是结合的,那么它可以用作 Combiner。

我的问题是短语“commutative and associative”在这种情况下是什么意思?

最佳答案

假设您有一个数字列表,1 2 3 4 5 6。

此处的关联意味着您可以将您的操作应用于任何子组,然后将其应用于这些子组的结果并获得相同的答案:

(1) + (2 + 3) + (4 + 5 + 6)
==
(1 + 2) + (3 + 4) + (5) + (6)
==
...

将此处的括号视为组合器的执行。

可交换意味着顺序无关紧要,因此:

1 + 2 + 3 + 4 + 5 + 6
==
2 + 4 + 6 + 1 + 2 + 3
==
...

例如,加法符合这个属性,如前所述。 “最大值”也符合上面的这个属性,因为最大值的最大值是最大值。最大(a,b)==最大(b,a)。

中位数是一个不起作用的例子:中位数的中位数不是真正的中位数。


不要忘记组合器的另一个重要属性:键/值的输入类型和键/值的输出类型需要相同。例如,您不能接受 string:int 并返回 string:float。

通常,reducer 可能会输出某种字符串而不是数值,这可能会阻止您将 reducer 作为组合器插入。

关于hadoop - “Combiner"mapreduce 作业中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com