Hadoop は初めてです。Reducer でカスタム カウンターを作成しようとしています。カスタム カウンターの使用例を見つけましたが、hadoop 1.x にありました。Hadoop 2.x のカウンターの適切な解決策が見つかりません。この問題について誰か助けてもらえますか? 前もって感謝します
質問する
232 次
1 に答える
0
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) メソッドを実装します。
于 2013-07-30T02:36:09.953 に答える