国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > Hadoop get JobId

Hadoop get JobId

来源:程序员人生   发布时间:2016-06-04 08:56:02 阅读次数:2761次

软件版本:hadoop2.6.4 ; jdk1.7,eclipse:Myeclipse2014;


问题描写:在进行MR任务提交的时候,想获得每次提交任务的jobId,这样在提交任务后,就能够根据此JobId来获得MR任务的进度了。

解决方案:

1. 之前想过的1种方式是:直接获得所有完成的JobID 列表,然后对其进行排序,取其最大的,接着使用最大的jobId来构造下1个jobId;但是这样会有问题,参考:http://blog.csdn.net/fansy1990/article/details/17426945 ;问题是当集群是第1次启动的时候,这个时候是没有已完成JobId的列表的,所以想到了使用获得集群启动时间的解决办法,也就是刚才的链接内容;

2. 第2种方式是:既然提交MR任务的时候可以获得Job参数,那末是不是可以通过该job参数来获得jobID呢?Job在调用job.waitForComplete后才会去集群中获得jobId ,并且此jobid在每次调用的时候都会递增1,而不管任务时候完成,即如果在jobId获得后的地方加个断点:

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生