gpt4 book ai didi

java - 如何从 Hadoop java API 获取特定的 MR 计数器?

转载 作者:可可西里 更新时间:2023-11-01 14:51:45 27 4
gpt4 key购买 nike

hadoop ui ,我们可以在单独的列中看到标准的 MR 计数器:map-task、reduce-task 和 total。

enter image description here

但我在hadoop java API 中没有看到这样的方法.我们如何从 java api 中获得分离的计数器,例如如何获取 Map 和 Reduce 列的 CPU 时间花费(毫秒) 值?

最佳答案

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

例如,如何获取您的 map gc-time-millis 计数器:

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) {}
}

关于java - 如何从 Hadoop java API 获取特定的 MR 计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42816243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com