私は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 を使用してジョブにかかった時間を測定するにはどうすればよいですか?