图示:
第1步:InputFormat
InputFormat 到HDFS上读取数据,将数据传给Split
第2步:Split
Split将数据进行逻辑切分,将数据传给RR
第3步:RR
RR:将传入的数据转换成一行一行的数据,输出行首字母偏移量和偏移量对应的数据,将数据传给MAP
第4步:MAP
MAP:根据业务需求实现自定义代码,将数据传给Shuffle的partition
第5步:partition
partition:按照一定的分区规则,将key value的list进行分区.将数据传给Shuffle的Sort
第6步:Sort
Sort:对分区内的数据进行排序,将数据传给Shuffle的combiner
第7步:combiner
combiner:对数据进行局部聚合.将数据传给Shuffle的Group
第8步:Group
Group:将相同key的key提取出来作为唯一的key,将相同key对应的value获取出来作为value的list,将数据传给Reduce
第9步:Reduce
Reduce:根据业务需求进行最终的合并汇总,将数据传给outputFormat
<