我曾经通过以下方式启动我的 Hadoop 工作
long start = new Date().getTime();
boolean status = job.waitForCompletion(true);
long end = new Date().getTime();
这样我就可以测量工作在我的代码中直接结束后所花费的时间。
现在我必须使用 JobControl 来表达我的工作之间的依赖关系:
JobControl jobControl = new JobControl("MyJob");
jobControl.addJob(job1);
jobControl.addJob(job2);
job3.addDependingJob(job2);
jobControl.addJob(job3);
jobControl.run();
但是,一旦执行了 jobControl.run(),代码就不会更进一步,所以我不能包含代码来轮询 jobControl.getState() 以完成作业。
如何使用 JobControl 测量作业所花费的时间?