1、输入拆分
将源文件转为InputSplit,只记录数据信息不储存数据,然后转为kv键值对,k:偏移量,v:每行内容。
2、map
数据处理,返回键值对
3、map shuffle:
map生成的键值对进入内存环形缓冲区,默认100M,达到80%时进行溢写,溢写之前进行排序(按K)、合并(如果定义)、分区(按reduce个数),每次溢写在磁盘生成一个文件,map执行完后将所有文件合并
4、reduce shuffle:
通过网络将数据从map段拉取到reduce端
5、reduce:
数据聚合、处理,结果写入hdfs