MapReduce的处理过程分为两个步骤:map和reduce。

每个阶段的输入输出都是key-value的形式,key和value的类型可以自行指定。

map阶段对切分好的数据进行并行处理,处理结果传输给reduce,由reduce函数完成最后的汇总。

如果有多个map任务同时运行(通常都是这样),那么每个map任务完成后,都会向reduce发送上面格式的数据,发送数据的过程叫shuffle