一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从代码分析来说明在map端是如何将map的输出保存下来等待reduce来取. 在执行每个map task时,无论map方法中执行什么逻辑,最终都是要把输出写到磁盘上.如果没有reduce阶段,则直接输出到hdfs上,如果有有reduce作业,则每个map方法的输出在写磁盘前线在内存中缓存.每个map…