等我给你 JobClient.runJob(jobConf)
如何获取此mapreduce任务的jobid?
我在下面看到过这样的代码,但它返回当前运行的所有作业ID
System.out.println("Printing job IDs...");
JobClient client = new JobClient(jobConf);
JobStatus[] status = client.getAllJobs();
for(int i = 0; i < status.length; i++){
if(!status[i].isJobComplete()){
JobID jobid = status[i].getJobID();
System.out.println(jobid.toString());
}
}
更新:
好吧,我忽略了一些事情。这个 runJob
方法返回 RunningJob
对象,它具有 getID
方法。但是 RunningJob
对象仅在作业完成运行后返回。在作业仍在运行时,是否仍要获取id?
RunningJob currentJob = JobClient.runJob(jobConf);
System.out.println("JobID: " + currentJob.getID().toString());
2条答案
按热度按时间1dkrff031#
顺从的工作似乎起到了作用。
busg9geu2#
要在作业运行时获取作业id的值,可以在新api中使用以下代码,
int value=job.waitforcompletion(真)?0 : 1;
jobid jobid=job.getjobid();
//使用jobid的逻辑
返回值;