我需要不断地获取映射器和减速器的运行时间。我已提交如下作业。
JobClient jobclient = new JobClient(conf);
RunningJob runjob = jobclient.submitJob(conf);
TaskReport [] maps = jobclient.getMapTaskReports(runjob.getID());
long mapDuration = 0;
for(TaskReport rpt: maps){
mapDuration += rpt.getFinishTime() - rpt.getStartTime();
}
但是,当我运行程序时,似乎没有提交作业并且映射器永远不会启动。我怎样才能使用JobClient.runJob(conf)
并且仍然能够获得运行时间?