2012-07-26 12 views
8

PIGスクリプトをローカルで実行しているときとmapreduceを実行しているときの実際の違いは何ですか? mapdduceモードは、hdfsがインストールされているクラスタで実行していることを理解しています。これはローカルモードでHDFSが必要ないことを意味するので、マップリダクションジョブさえトリガされませんか?違いは何ですか?あなたはいつ他のことをしますか?PIGローカルとmapreduceモードの違い

答えて

8

ローカルモードでは、ディスク上のローカルファイルから実行されるシミュレートされたmapreduceジョブが構築されます。理論的にはMapReduceと同等ですが、実際の仕事ではありません。あなたはユーザーの視点との違いを伝えるべきではありません。

ローカルモードは開発に最適です。

+1

ローカルモードではカウンターのサポートはありませんが、これはPigではなくHadoop Map/Reduceによるものです。 – cyang

6

ローカルモード:すべてのスクリプトは、Hadoop MapReduceおよびHDFSを必要とせずに1台のマシンで実行されます。これは、Pigロジックの開発とテストに役立ちます。開発者に少量のデータを使用したり、コードをテストしている場合は、MapReduceインフラストラクチャを経由するよりもローカルモードが高速になる可能性があります。

ローカルモードではHadoopは必要ありません。ローカルモードで実行すると、PigプログラムはローカルJava仮想マシンのコンテキストで実行され、データアクセスは単一のマシンのローカルファイルシステム経由で実行されます。ローカルモードは、実際にはHadoopのLocalJobRunnerクラスのMapReduceのローカルシミュレーションです。

MapReduceモード(Hadoopモードとも呼ばれます):HadoopクラスタでPigが実行されます。この場合、Pig Scriptは一連のMapReduceジョブに変換され、Hadoopクラスタ上で実行されます。 LOcal and Distributed mode of pig

あなたは上の操作を実行したいデータのテラバイトを持っていて、対話形式でプログラムを開発する場合、あなたはすぐに物事がかなり遅く見つけること、そしてあなたがあなたのストレージの成長を開始してもよいです。ローカルモードでは、よりインタラクティブな方法でデータのサブセットを扱うことができるため、Pigプログラムのロジックを把握して(バグを解決することができます)

必要に応じて設定し、操作がスムーズに実行されたら、MapReduceモードを使用して完全なデータセットに対してスクリプトを実行できます。

関連する問題