

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Pig の作業の送信
<a name="emr-pig-launch"></a>

このセクションでは、Pig の作業を Amazon EMR クラスターに送信する方法を示します。次の例では、Apache ログファイルを評価し、転送された合計バイト数、上位 50 の IP アドレスリスト、上位 50 の外部参照者リスト、Bing や Google を使用した検索語トップ 50 などの情報が含まれるレポートを生成します。Pig スクリプトは、Amazon S3 バケット `s3://elasticmapreduce/samples/pig-apache/do-reports2.pig` に配置されています。入力データは Amazon S3 バケット `s3://elasticmapreduce/samples/pig-apache/input` に配置されています。出力は、Amazon S3 バケットに保存されます。

## Amazon EMR コンソールを使用した Pig の作業の送信
<a name="ConsoleCreatingaPigJob"></a>

この例では、Amazon EMR コンソールを使用し、Pig のステップをクラスターに追加する方法について説明します。

**Pig のステップを送信するには**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/) で Amazon EMR コンソールを開きます。

1. **[Create cluster]** (クラスターの作成) を選択し、Pig がインストールされたクラスターを作成します。クラスターの作成手順については、「[Amazon EMR クラスターを計画して構成する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html#emr-getting-started-plan-and-configure)」を参照してください。

1. ターミナルを開き、「[SSH を使用してマスターノードに接続する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」で説明されている手順に従ってクラスターのマスターノードに SSH 接続します。完了したら、次の手順を実行してください。

   ```
   sudo mkdir -p /home/hadoop/lib/pig/
   sudo aws s3 cp s3://elasticmapreduce/libs/pig/0.3/piggybank-0.3-amzn.jar /home/hadoop/lib/pig/piggybank.jar
   ```

1. コンソールで **[Cluster List]** (クラスターリスト) をクリックし、作成したクラスターの名前を選択します。

1. [**Steps (ステップ)**] セクションまでスクロールして展開し、[**Add step (ステップの追加)**] を選択します。

1. [**Add Step (ステップの追加)**] ダイアログで:
   + [**Step type (ステップタイプ)**] で、[**Pig program (Pig プログラム)**] を選択します。
   + [**Name (名前)**] では、デフォルト名（Pig program）を使用するか、または新しい名前を入力します。
   + [**Script S3 location (スクリプト S3 の場所)**] で、Pig スクリプトの場所を入力します。例: **s3://elasticmapreduce/samples/pig-apache/do-reports2.pig**。
   + [**Input S3 location (S3 の場所の入力)**] で、入力データの場所を入力します。例: **s3://elasticmapreduce/samples/pig-apache/input**。
   + **[Output S3 location]** (S3 の場所の出力) で、Amazon S3 出力バケットの名前を入力するか、参照します。
   + [**Arguments (引数)**] は、フィールドを空のままにします。
   + [**Action on failure (失敗時の操作)**] では、デフォルトのオプション ([**Continue (続行)**]) を使用します。

1. **[Add]** (追加) を選択します。ステップは、[Pending] というステータスでコンソールに表示されます。

1. ステップが実行されると、ステータスは [Pending (保留中)] から [Running (実行中)]、[Running (実行中)] から [完了済み] に変更されます。スタータスを更新するには、**[Actions]** (アクション) 列の上にある **[Refresh]** (更新) アイコンを選択します。ステップが完了したら、Amazon S3 バケットをチェックして Pig ステップの出力ファイルがあることを確認します。

## を使用して Pig 作業を送信する AWS CLI
<a name="emr-pig-submit-work"></a>

**を使用して Pig ステップを送信するには AWS CLI**

を使用してクラスターを起動する場合は AWS CLI、 `--applications`パラメータを使用して Pig をインストールします。Pig のステップを送信するには、`--steps` パラメータを使用します。

1. Pig がインストールされたクラスターを起動するには、次のコマンドを入力します。{{myKey}} と {{amzn-s3-demo-bucket/}} は、EC2 キーペアと Amazon S3 バケットの名前に置き換えます。

   ```
   aws emr create-cluster \
   --name "{{Test cluster}}" \
   --log-uri s3://{{amzn-s3-demo-bucket/}} \
   --release-label {{emr-5.36.2}} \
   --applications Name=Pig \
   --use-default-roles \
   --ec2-attributes KeyName={{myKey}} \
   --instance-type {{m5.xlarge}} \
   --instance-count {{3}}
   ```
**注記**  
読みやすくするために、Linux 行連続文字 (\\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

   `--instance-groups` パラメータを使用せずにインスタンス数を指定すると、1 つのマスターノードが起動され、残りのインスタンスはコアノードとして起動されます。すべてのノードで、コマンドで指定したインスタンスタイプが使用されます。
**注記**  
以前にデフォルトの EMR サービスロールと EC2 インスタンスプロファイルを作成していない場合は、「`aws emr create-default-roles`」と入力してそれらを作成してから、`create-cluster` サブコマンドを入力します。

1. Pig ステップを送信するには、次のコマンドを入力します。{{myClusterId}} と {{amzn-s3-demo-bucket}} は、クラスター ID と Amazon S3 バケットの名前に置き換えます。

   ```
   aws emr add-steps \
   --cluster-id {{myClusterId}} \
   --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://{{amzn-s3-demo-bucket}}/pig-apache/output]
   ```

   このコマンドを実行すると、ステップ ID が返されます。これを使用して、ステップの `State` を確認できます。

1. `describe-step` コマンドを使用して、ステップのステータスのクエリを実行します。

   ```
   aws emr describe-step --cluster-id {{myClusterId}} --step-id {{s-1XXXXXXXXXXA}}
   ```

   ステップの `State` は、ステップの実行に伴って `PENDING` から `RUNNING`、さらには `COMPLETED` へと変わります。ステップが完了したら、Amazon S3 バケットをチェックして Pig ステップの出力ファイルがあることを確認します。

での Amazon EMR コマンドの使用の詳細については AWS CLI、[AWS CLI 「 コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/emr)」を参照してください。