Hadoop 中JobClient 里 submitJob(JobConf) 和 runJob(JobConf) 的区别

Hadoop中提交Job到JobTracker时,可以使用JobClient的runJob或submitJob方法。runJob是同步的,会等待任务完成返回RunningJob的句柄,而submitJob是异步的,立即返回处理中的RunningJob句柄,任务在有资源时才执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop提交 Job到JobTracker的时候,需要通过JobClient.runJob(JobConf) 或者 JobClient.submitJob(JobConf) 这两个静态方法来提交。但是这两个方法,前者和后者是有区别的。查看API中的文档解释:

1)runJob

runJob

public static RunningJob runJob(JobConf job)
                         throws IOException
Utility that submits a job, then polls for progress until the job is complete.

Parameters:
job - the job configuration.
Throws:
IOException

2)submitJob

submitJob

public RunningJob submitJob(JobConf job)
                     throws FileNotFoundException,
                            InvalidJobConfException,
                            IOException
Submit a job to the MR system. This returns a handle to the  RunningJob which can be used to track the running-job.

Parameters:
job - the job configuration.
Returns:
a handle to the  RunningJob which can be used to track the running-job.
Throws:
FileNotFoundException
InvalidJobConfException
IOException


       可以看出,runJob是同步的,提交任务后要等待处理直到完成以后,才会返回RunningJob的handle;而submitJob是异步的,会返回一个处理中的RuningJob的handle,然后等有资源的时候,才会真正的去执行提交的任务。

      




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值