作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 Hadoop 的新手。我正在尝试在我的 reducer 中编写一个自定义计数器。我找到了一个使用自定义计数器的示例,但它是在 hadoop 1.x 中。我没有为 hadoop 2.x 中的计数器找到任何合适的解决方案 谁能帮我解决这个问题..?提前致谢
最佳答案
通过查看 2.x 的代码,我相信它的工作方式与早期版本的示例相同
计数器由 org.apache.hadoop.mapreduce.counters.AbstractCounters 维护
当请求一个不在缓存中的计数器时,findCounter 会即时生成一个新的计数器
public synchronized C findCounter(Enum<?> key) {
C counter = cache.get(key);
if (counter == null) {
counter = findCounter(key.getDeclaringClass().getName(), key.name());
cache.put(key, counter);
}
return counter;
}
(它使用枚举类名作为此枚举定义的计数器的组名)
传递给 map 和 reduce 方法的 org.apache.hadoop.mapreduce.Context 对象实现了 getCounter(Enum) 方法
关于hadoop - 如何在 Hadoop 2.0.3 alpha 中创建自定义计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17926804/
我是一名优秀的程序员,十分优秀!