正如我们所知,这Hadoop
保证了来自不同的相同密钥mappers
将被发送到相同的reducer
.
但是如果两个不同的key有相同的hash值,它们肯定会去相同的 reducer
,那么它们会被有序地发送到相同的 reduce
方法吗?哪个部分负责这个逻辑?
非常感谢!
正如我们所知,这Hadoop
保证了来自不同的相同密钥mappers
将被发送到相同的reducer
.
但是如果两个不同的key有相同的hash值,它们肯定会去相同的 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