Hadoop map-reduce を使用していて、プログラムで多くのジョブ カウンターを作成しようとすると、CountersExceededException が発生しました。構成ファイルを介して許可されるカウンターの数を増やすことができることは知っていますが、知っている人はいますか?
a) map-reduce カウンターに制限がある理由
と
b) map-reduce カウンターの最大数を増やすのが良い考えか悪い考えか?
Hadoop 0.20.2 を使用しています
この投稿のカウンターに関するセクションを参照してください。
カウンター
カウンターは、Map/Reduce フレームワークまたはアプリケーションによって定義されるグローバル カウンターを表します。アプリケーションは、任意のカウンターを定義し、map および/または reduce メソッドでそれらを更新できます。これらのカウンターは、フレームワークによってグローバルに集計されます。
カウンターは、少数の重要なグローバルな情報を追跡するのに適しています。これらは、アプリケーションの非常に詳細な統計を集計することを意図したものではありません。JobTracker は、アプリケーションの全期間にわたってすべての map/reduce タスクのすべてのカウンターを維持する必要があるため、カウンターは非常に高価です。
カウンターの最大数を増やしたい場合に備えて。
最後にコードを見たところ、カウンターの最大数がコードにハードコーディングされており、構成できませんでした。詳細については、以前に書いたブログ エントリを確認し、最新のコードを調べて、構成可能にするためにこれが変更されているかどうかを確認してください。