hadoop 源码分析

 

先贴一张hadoop的部分类图

hadoop resource class

 

如图所示,组要的过程都在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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值