Apache-pig-execution
Apache Pig-実行
前の章では、Apache Pigのインストール方法について説明しました。 この章では、Apache Pigの実行方法について説明します。
Apache Pig実行モード
Apache Pigは、ローカルモード*および HDFSモード*の2つのモードで実行できます。
ローカルモード
このモードでは、すべてのファイルがインストールされ、ローカルホストとローカルファイルシステムから実行されます。 HadoopやHDFSは必要ありません。 通常、このモードはテスト目的で使用されます。
MapReduceモード
MapReduceモードは、Apache Pigを使用してHadoopファイルシステム(HDFS)に存在するデータをロードまたは処理するモードです。 このモードでは、Pig Latinステートメントを実行してデータを処理するたびに、MapReduceジョブがバックエンドで呼び出され、HDFSに存在するデータに対して特定の操作を実行します。
Apache Pig実行メカニズム
Apache Pigスクリプトは、インタラクティブモード、バッチモード、埋め込みモードの3つの方法で実行できます。
- インタラクティブモード(Gruntシェル)-Gruntシェルを使用して、Apache Pigをインタラクティブモードで実行できます。 このシェルでは、Pig Latinステートメントを入力して出力を取得できます(ダンプ演算子を使用)。
- バッチモード(スクリプト)-拡張子が .pig の単一ファイルにPig Latinスクリプトを記述することにより、Apache Pigをバッチモードで実行できます。
- Embedded Mode (UDF)-Apache Pigは、Javaなどのプログラミング言語で独自の関数(* U ser D efined F * unctions)を定義し、スクリプト。
Grunt Shellの呼び出し
以下に示すように、*-x *オプションを使用して、希望のモード(local/MapReduce)でGruntシェルを呼び出すことができます。
Local mode | MapReduce mode |
---|---|
Command − $ ./pig –x local a |
$ ./pig -x mapreduce a |
a |
出力- |
これらのコマンドのいずれかを使用すると、次に示すようにGruntシェルプロンプトが表示されます。
grunt>
- ’ctrl+を使用してGruntシェルを終了できます。 d ’。*
Gruntシェルを呼び出した後、Pig Latinステートメントを直接入力してPigスクリプトを実行できます。
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
バッチモードでのApache Pigの実行
ファイルにPig Latinスクリプト全体を記述し、* – xコマンド*を使用して実行できます。 以下に示すように、 sample_script.pig という名前のファイルにPigスクリプトがあるとします。
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Dump student;
これで、以下に示すように、上記のファイルでスクリプトを実行できます。
Local mode | MapReduce mode |
---|---|
$ pig -x local *Sample_script.pig * | $ pig -x mapreduce* Sample_script.pig* |
注-*バッハモード*および*埋め込みモード*でPigスクリプトを実行する方法については、以降の章で詳しく説明します。