Hadoop中默认的散列分区器将两个不同的键转到同一个reducer?
我们知道Hadoop
保证来自不同mappers
的相同密钥将被发送到同一个reducer
。
但是如果两个不同的键具有相同的哈希值 ,它们肯定会转到相同的 reducer
,那么它们是否会按顺序发送到相同的 reduce
方法? 哪个部分负责这个逻辑?
非常感谢!
Q1: so will them be sent to the same reduce method orderly
答:是的
Q2: Which part is responsible for this logic
答: 洗牌排序
示例:
key value 1 2 1 2 2 5 3 19 6 20
让我们说减速器的数量现在是5。
Reduce 0 will get key NO key-value pairs Reduce 1 will get key 1,6 in same order Reduce 2 will get key 2 Reduce 3 will get key 3 Reduce 4 will get key NO key-value pairs