Apache-pig-execution

提供:Dev Guides
移動先:案内検索

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

出力-

MapReduceモード出力

これらのコマンドのいずれかを使用すると、次に示すように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スクリプトを実行する方法については、以降の章で詳しく説明します。