2010-12-16 8 views
4

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

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

お勧めです。

答えて

5

Pig's documentationローカル処理は、分散ソートを使用する特定の関数に対して異なるコードパスを使用して、単一スレッドで実行することを意図していることが明らかになります。その結果、Pigのローカルモードを最適化することは、提示された問題に対する誤った解決策のように思えます。

フルクラスタセットアップに投資するのではなく、ローカルの「擬似分散」クラスタを実行すると考えましたか? Hadoop's instructions for pseudo-distributed operation,に続いてlocalhostを指すことができます。これは、2ステップのスタートアップとティアダウンを犠牲にして、望ましい結果をもたらすでしょう。

マシン上で使用可能なすべてのコアを消費するように、デフォルトのマッパーとレデューサーの数を増やすことをお勧めします。幸いにも、これは合理的に文書化されています(確かに、cluster setup documentation)。単にmapred.tasktracker.map.tasks.maximummapred.tasktracker.reduce.tasks.maximumをローカルコピー$HADOOP_HOME/conf/mapred-site.xmlに定義してください。

関連する問題