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