Shuffle 是 Hadoop MapReduce 的一个重要环节,它是数据重新分配和排序的过程。
在 Map 阶段中,数据被分成若干个小数据块,分别被不同的 Map 任务处理,处理完的数据经过 Shuffle 阶段后,再进入 Reduce 阶段。
Shuffle 阶段的主要作用是把 Map 阶段生成的多个数据块进行合并、排序和分组,生成有序的数据作为 Reduce 阶段的输入。
Shuffle 阶段的执行效率对整个 MapReduce 任务的执行效率有着重要的影响,所以 Hadoop 对 Shuffle 阶段的优化也非常关注。