MapReduce确保每个reducer的输入都按键排序.系统执行排序的过程——将map输出作为输入传给reducer——称为shuffle.shuffle属于不断被优化和改进的代码库的一部分,从许多方面来看,shuffle是MapReduce的“心脏”,是奇迹发生的地方.事实上,shuffle这个说法并不准确.因为在某些语境中,它只代表reduce任务获取map输出的这部分过程.在这里,我们将其理解为从map产生输出到reduce的消化输入的整个过程. map端: map函数开始产生输出时,并…