4

ログ処理に PIG latin を使用しているのは、Hadoop クラスター全体のセットアップを心配するほどデータが大きくないという問題での表現力が高いためです。ローカル モードで PIG を実行していますが、使用可能なすべてのコア (現時点では 16) を使用していないと思います。CPU を監視すると、最大で 200% の CPU 使用率が示されます。

ローカル実行用に PIG を微調整するためのチュートリアルまたは推奨事項はありますか? すべてのマッパーが、利用可能なすべてのコアを簡単な微調整で使用できると確信しています。(私のスクリプトでは、default_parallel パラメーターを既に 20 に設定しています)

よろしくお願いします。

4

1 に答える 1

5

Pig のドキュメントでは、ローカル操作がシングルスレッドで実行されることを意図していることを明確に示しており、そうでなければ分散ソートを使用する特定の関数に対して異なるコード パスを使用します。その結果、Pig のローカル モードの最適化は、提示された問題に対する間違った解決策のように思えます。

完全なクラスターのセットアップに投資する代わりに、ローカルの「疑似分散型」クラスターを実行することを検討しましたか? 疑似分散操作に関する Hadoop の指示に従って、 Pig をに向けることができますlocalhost。これにより、2 段階の起動と破棄を犠牲にして、望ましい結果が得られます。

デフォルトのマッパーとリデューサーの数を増やして、マシンで利用可能なすべてのコアを消費する必要があります。幸いなことに、これは十分に文書化されています (確かに、クラスターのセットアップに関するドキュメントに記載されています)。のローカル コピーでmapred.tasktracker.map.tasks.maximumとを定義するだけです。mapred.tasktracker.reduce.tasks.maximum$HADOOP_HOME/conf/mapred-site.xml

于 2010-12-16T20:56:50.600 に答える