如何在多个Reduce Task间分配数据?

通过key,即相同key的数据被分配到同一个Reduce Task,但是一个Reduce Task上不保证只有一种key
以上过程通过Hash函数完成


原因很明显,如果相同key的数据不是被分配到同一个Reduce Task上,那么分布式计算的结果就是错误的
比如说统计单词次数(单词作为key),如果同一个单词被放在不同的Reduce Task上,那么最后只有将同一个单词所在的所有Reduce Task上的统计次数累加起来,才是最终的正确结果

你可能感兴趣的:(如何在多个Reduce Task间分配数据?)