第一步:inputformat
inputformat 到HDFS上读取数据
将数据传给split
第二步:split
split将数据进行逻辑切分,
将数据传给RR
第三步:RR
RR:将传入的数据转换成一行一行的数据,输出行首字母偏移量和偏移量对应的数据
将数据传给MAP
第四步:MAP
MAP:根据业务需求实现自定义代码
将数据传给shuffle的partition
第五步:partition
partition:按照一定的分区规则,将key,value的list进行分区
将数据传给shuffle的sort
第六步:sort
sort:对分区内的数据进行排序
将数据传给shuffle的combiner
第七步:combiner
combiner:对数据进行局部聚合
将数据传给shuffle的Group
第八步:Group
Group:将相同key的key提取出来作为唯一的key
将相同key对应的value获取出来作为value的list
将数据传给Reduce
第九步:Reduce
Reduce:根据业务需求进行最终的合并汇总,
将数据传给outputFormat
第十步:outputFormat
outputFormat:将数据写入HDFS