我如何在Hadoop中获得计数器

sup*_*lar 2 hadoop

我为了MultipleOutputFormat而使用版本0.20.2,
并希望在作业完成后提取计数器.

我试图谷歌一些有用和实用的例子,但我不能.
任何人都可以展示一个简单的例子?

Tho*_*lut 7

如果您提交的工作如下:

  Configuration conf = new Configuration();
  Job job = new Job(conf);

  job.waitForCompletion(true);
Run Code Online (Sandbox Code Playgroud)

它已经完成(你甚至可以在运行时调用它,但结果不会是最终结果,因为作业尚未完成.),你可以通过使用以下方式获取计数器:

long counter = job.getCounters().findCounter(ExplorationReducer.UpdateCounter.UPDATED)
    .getValue();
Run Code Online (Sandbox Code Playgroud)

这是我在工作中使用的枚举计数器的名称:

ExplorationReducer.UpdateCounter.UPDATED

如果您想要所有计数器,则必须遍历Counters对象后面的背衬结构.它有一个迭代器.