先贴一张hadoop的部分类图
如图所示,组要的过程都在LocalJobRunable的内部类Job中,主要当然是map/reduce(MapTask和ReduceTask)。
1.TaskSplitMetaInfo 把job分解为几个task,并返回task头信息
2.MapTask中
计算map task数量
运行map -- 遍历执行task 将mapper循环给context
结束map之后,统一执行quickSort
3.进入reduce准备 -- 将map的输出转为reduce的输入copy file
对输入进行排序sort file(小文件优先在前)
4.运行reduce -- 循环遍历调用reduce,并在遍历valueIterator的时候,调用GroupComparator决定iterator的 hasnext方法的返回,决定哪些key在一起,给同一个reduce
标签:分析,map,task,--,reduce,hadoop,MapTask,源码,遍历 From: https://blog.51cto.com/u_2465818/6209846