Java Hadoop 2.6.0作业计数器始终返回零

Java Hadoop 2.6.0作业计数器始终返回零,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我试图获得作业运行中map阶段和reduce阶段花费的总时间。所以我试着使用JobCounters的MILLIS_映射和MILLI_REDUCES,但当我试图得到这个值时,它们似乎总是零。除此之外,我还注意到,当作业成功完成时,这些计数器没有打印出来,这导致了我的问题 作业计数器是否在Hadoop 2.6.0中使用?他们不赞成吗 如果没有,我们如何正确使用它们 这就是我迄今为止所尝试的: Date startTime = new Date(); System.out.println("Job s

我试图获得作业运行中map阶段和reduce阶段花费的总时间。所以我试着使用JobCounters的MILLIS_映射和MILLI_REDUCES,但当我试图得到这个值时,它们似乎总是零。除此之外,我还注意到,当作业成功完成时,这些计数器没有打印出来,这导致了我的问题

作业计数器是否在Hadoop 2.6.0中使用?他们不赞成吗

如果没有,我们如何正确使用它们

这就是我迄今为止所尝试的:

Date startTime = new Date();
System.out.println("Job started: " + startTime);
job.waitForCompletion(true);

Date end_time = new Date();
System.out.println("Job ended: " + end_time);
System.out.println("The job took " +
            (end_time.getTime() - startTime.getTime()) /1000 + " seconds.");

Counters counters = job.getCounters();

Counter mapTime = counters.findCounter(JobCounter.MILLIS_MAPS);
System.out.println(mapTime.getDisplayName() + " : " + mapTime.getValue());

Counter reduceTime = counters.findCounter(JobCounter.MILLIS_REDUCES);
System.out.println(reduceTime.getDisplayName() + " : " +reduceTime.getValue());
更新: 似乎我只能在运行纱线时打印这些计数器。有没有办法不跑线就拿到它们


谢谢你的关注

你看到了吗?是的,露莉亚,我试着展示所有的柜台。但是,打印的计数器不包括我提到的计数器。