【问题标题】:Hadoop difference between methods Counter.getName and Counter.getDisplayNameHadoop 方法 Counter.getName 和 Counter.getDisplayName 之间的区别
【发布时间】: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 中看不到太多信息 请澄清。

谢谢,

文卡特

【问题讨论】:

  • 后者已弃用。

标签: java hadoop mapreduce


【解决方案1】:

Hadoop 框架使用标准 Java 本地化来获得可读的计数器名称。该名称由框架内部使用,但当您看到计数器时显示的是显示名称。

要查看它的实际效果,

  1. 在与包含枚举的顶级类相同的目录中创建以枚举命名的属性文件。

  2. 属性文件应包含一个名为 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 ,您会看到计数器使用属性文件中提供的值显示。

【讨论】:

    【解决方案2】:

    getName 返回计数器的名称

    getDisplayName() 返回面向用户的计数器名称

    来源:http://hadoop.apache.org/docs/r2.0.3-alpha/api/org/apache/hadoop/mapreduce/Counter.html#getName()

    【讨论】:

    • 感谢您的宝贵时间和回复。 setDisplayName 似乎已弃用。它将从哪里获得面向用户的名称?
    猜你喜欢
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2011-02-02
    • 1970-01-01
    相关资源
    最近更新 更多