Hadoop源码之我见--MapReduce部分(一)--Job类

为了不遗忘和可以速查源码,准备重新读一遍Hadoop的MapReduce部分的源码,记录下来,尽量详细点。如要转载,请标明出处。

 

写MapReduce程序首先接触的是Job类,Job类是管理一个集群作业的类,包含了一个作业的所有信息和向集群提交作业的方法。

 

 

如图所示,它有以上一些方法,我们写程序是调用waitForCompletion()方法,方法实现如下:

 

 

 

 

 

它调用了submit向集群提交作业,下面看下submit()方法:

 

 

 

 

jobClient是在初始化时候建立的。

 

 

 

JobClient类 建立了一个代理,用于连接JobTracker(集群上的master结点),

 

 

 

这个代理会检查mapred.job.tracker 这个属性有没有建立,默认值是local,如果建立了,则建立一个连接JobTracker的代理。这个代理负责上传作业的配置和作业内容到集群中。

 

 

发现他实现了JobSubmissionProtocol接口的一个对象

 

 

 

总之,Job类使用了一个实现了JobSubmissionProtocol接口的一个代理,这个代理对象可以用来和集群通信,job类的一些方法也可以用来帮助我们对集群和任务的进展情况进行查看。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值