2017-03-15 57 views

回答

1

如果你想得到分离的任务计数器,你需要使用getTaskReports()方法到你的hadoop工作。之后,您可以使用getTaskCounter()和findCounter()方法分别为每个任务找到您需要的计数器。

例如,如何让你的地图GC-时间米利斯计数器:

Long result = 0L;  
TaskReport[] taskReports = job.getHadoopJob().getTaskReports(TaskType.MAP); 
for (TaskReport taskReport : taskReports) { 
    try { 
     result += taskReport.getTaskCounters().findCounter(TaskCounter.GC_TIME_MILLIS).getValue(); 
     } catch (Exception ignored) {} 
} 
相关问题