我在一个java程序中有两个独立的mapreduce作业。我怎样才能使它们并行运行。我的系统配置Hadoop 2.7.13个节点16个物理内核
不使用job.waitForCompletion(true)
,而使用job.submit()
方法提交作业。后者将提交作业并立即返回。job.waitForCompletion(true)
提交作业,等待作业完成。
那么您应该使用isComplete()
来检查作业的完成状态。记住这是non-blocking call
,你可能想把它放在一个while循环中,当一些睡眠时间。
Job job1 = new Job("Job1");
Job job2 = new Job("job2");
.... // code which configure both the job objects.
//Now submit both the jobs.
job1.submit();
job2.submit();
// Wait for the completion.
while(!job1.isComplete() && !job2.isComplete()) {
Thread.sleep(10000);
}