Hadoop 为每个 job 维护了一系列的内置计数器。计数器被分为组
通过定义一个 Java 枚举类型可以在代码中自定义计数器。枚举类型名称是计数器组名,枚举字段是计数器名称。
public
class
SalarySumTemplate
extends
Configured
implements
Tool {
enum
COUNTER {
EMP_COUNTER
,
DEPT_COUNTER
}
ctxt.getCounter(COUNTER.
EMP_COUNTER
).increment(1);
也可以通过动态计数器方式
context.getCounter("TemperatureQuality", parser.getQuality()).increment(1);
定义计数器后,在Job运行后,会显示在日志中。可以通过提供属性文件,为计数器添加名称。 在相同的包下,增加一个SalarySumTemplate_COUNTER.properties 文件。内容如下
CounterGroupName=Salary Sum Counter
EMP_COUNTER.name=Employ record
DEPT_COUNTER.name=
Dept
record