我在一个java程序中有2个独立的mapreduce作业。如何让它们并行运行? 我的系统配置是 Hadoop 2.7.1 3个节点 16个物理核心
答案 0 :(得分:0)
而不是使用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);
}