Java MapReduce以编程方式获取当前作业ID
在我给Java MapReduce以编程方式获取当前作业ID,java,hadoop,mapreduce,hdfs,Java,Hadoop,Mapreduce,Hdfs,在我给 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++
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());
}
}
SubmitJob似乎起到了作用
JobClient client = new JobClient(jobConf);
RunningJob currentJob = client.submitJob(jobConf);
System.out.println("JobID: " + currentJob.getID().toString());
要在作业运行时获取作业id的值,可以在新API中使用以下代码: int value=job.waitForCompletion(true)?0 : 1; JobID JobID=job.getJobID() //使用jobId的逻辑
返回值 如果它有效,接受你的答案,这样别人就会看到它是如何对你起作用的。
JobClient client = new JobClient(jobConf);
RunningJob currentJob = client.submitJob(jobConf);
System.out.println("JobID: " + currentJob.getID().toString());