【发布时间】:2013-06-26 12:45:53
【问题描述】:
Counter.getName() 与 Counter.getDisplayName() 方法有什么区别。我从文档http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/mapreduce/Counter.html 中看不到太多信息 请澄清。
谢谢,
文卡特
【问题讨论】:
-
后者已弃用。
Counter.getName() 与 Counter.getDisplayName() 方法有什么区别。我从文档http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/mapreduce/Counter.html 中看不到太多信息 请澄清。
谢谢,
文卡特
【问题讨论】:
Hadoop 框架使用标准 Java 本地化来获得可读的计数器名称。该名称由框架内部使用,但当您看到计数器时显示的是显示名称。
要查看它的实际效果,
在与包含枚举的顶级类相同的目录中创建以枚举命名的属性文件。
属性文件应包含一个名为 CounterGroupName 的属性,其值为显示名称。使用后缀 .name 定义所有字段。
例如:对于在 Employee 类中定义如下的枚举
`enum Counters { VALID , INVALID }`
在Employee 的同一个包中创建一个属性文件Employee_Counters.properties 文件。带有以下条目
CounterGroupName=Employment Records
VALID.name=Valid Employee Records
INVALID.name=Invalid Employee Records
创建另一个属性文件 Employee_Counters_fr_FR.properties 以法语显示计数器名称。
如果默认语言环境是 EN ,您会看到计数器使用属性文件中提供的值显示。
【讨论】:
getName 返回计数器的名称
getDisplayName() 返回面向用户的计数器名称
来源:http://hadoop.apache.org/docs/r2.0.3-alpha/api/org/apache/hadoop/mapreduce/Counter.html#getName()
【讨论】: