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 後続の章で。