地图的并行化减少

时间:2015-10-10 07:04:43

标签: java mapreduce

我在一个java程序中有2个独立的mapreduce作业。如何让它们并行运行? 我的系统配置是 Hadoop 2.7.1 3个节点 16个物理核心

1 个答案:

答案 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);
}