MapReduce执行的八个步骤
Map阶段两个步骤
1、设置InputFormat类,将数据切割"k1-v1"对
2、自定义Map逻辑(继承类),将第一步的结构转换成另外的"k2-v2"对
Shuffle阶段的4个步骤
3、对输出的k2-v2进行分区
4、对不同分区的数据按照相同的key进行排序
5、对分组过的数据进行初步规约(聚合),降低数据的网络拷贝
6、对数据进行分组,把相同的Key的Value放入 一个集群中
输出新的k2-v2
Reduce阶段的两个步骤
7、对多个Map任务的结果进行排序以及合并,编写Reduce函数(继承类)实现自己的逻辑,对新输入的k2-v2进行处理,转为新的k3-v3输出
8、设置OutputFormat类(该类决定处理完的数据保存在哪里)处理并保存Reduce输出的k3-v3数据