

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Übermitteln von Pig-Aufträgen
<a name="emr-pig-launch"></a>

Dieser Abschnitt zeigt das Senden von Pig-Aufträgen an einen Amazon-EMR-Cluster. Das folgende Beispiel generiert einen Bericht mit der Gesamtzahl der übertragenen Bytes, eine Liste der Top 50 IP-Adressen, eine Liste der externen Top 50-Referrer und die 50 beliebtesten Suchbegriffe bei Bing und Google. Das Pig-Skript befindet sich im Amazon-S3-Bucket `s3://elasticmapreduce/samples/pig-apache/do-reports2.pig`. Die Eingabedaten befinden sich im Amazon-S3-Bucket `s3://elasticmapreduce/samples/pig-apache/input`. Die Ausgabe wird in einem Amazon-S3-Bucket gespeichert.

## Pig-Aufträge über die Amazon-EMR-Konsole senden
<a name="ConsoleCreatingaPigJob"></a>

In diesem Beispiel wird beschrieben, wie Sie mithilfe der Amazon-EMR-Konsole einen Pig-Auftrag an einen Cluster senden. 

**So senden Sie einen Pig-Auftrag**

1. Öffnen Sie die Amazon EMR-Konsole unter [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/).

1. Wählen Sie **Cluster erstellen**, um einen neuen Cluster mit Pig zu erstellen. Anweisungen zum Erstellen eines Clusters finden Sie unter [Planen und Konfigurieren eines Amazon-EMR-Clusters](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html#emr-getting-started-plan-and-configure).

1. Öffnen Sie ein Terminal und stellen Sie eine SSH-Verbindung zum Hauptknoten Ihres Clusters her, indem Sie die unter [Verbindung zum Hauptknoten mithilfe von SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html) herstellen beschriebenen Schritte ausführen. Sobald Sie das getan haben, führen Sie die folgenden Schritte aus.

   ```
   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. Klicken Sie in der Konsole die Seite **Cluster-Liste** aus und klicken Sie den Namen des von Ihnen erstellten Clusters.

1. Scrollen Sie zum Abschnitt **Steps (Schritte)** und erweitern Sie ihn. Wählen Sie anschließend **Add step (Schritt hinzufügen)** aus.

1. Gehen Sie im Dialogfeld **Schritt hinzufügen** folgendermaßen vor:
   + Wählen Sie unter **Step type (Schritttyp)** die Option **Pig program (Pig-Programm)** aus.
   + Übernehmen Sie unter **Name** den Standardnamen („Pig program“) oder geben Sie einen neuen Namen ein.
   + Geben Sie unter **Script S3 location (S3-Skriptspeicherort)** den Speicherort Ihres Pig-Skripts ein. Beispiel: **s3://elasticmapreduce/samples/pig-apache/do-reports2.pig**.
   + Unter **Input S3 location (S3-Eingabespeicherort)** geben Sie den Speicherort der Eingabedaten ein. Beispiel: **s3://elasticmapreduce/samples/pig-apache/input**.
   + Unter **S3-Ausgabespeicherort** geben Sie den Namen Ihres Amazon-S3-Ausgabe-Buckets ein oder navigieren zu dem entsprechenden S3-Bucket.
   + Lassen Sie unter **Arguments (Parameter)** das Feld leer.
   + Übernehmen Sie unter **Action on failure (Aktion bei Fehler)** die Standardeinstellung **Continue (Fortfahren)**.

1. Wählen Sie **Hinzufügen** aus. Der Schritt wird in der Konsole mit dem Status "Pending" angezeigt. 

1. Bei Ausführung des Schritts ändert sich dessen Status von Pending zu Running und Completed. Wählen Sie über der Spalte **Actions (Aktionen)** das Symbol **Refresh (Ansicht aktualisieren)** aus, um den Status zu aktualisieren. Wenn Ihr Schritt abgeschlossen ist, überprüfen Sie Ihren Amazon-S3-Bucket, um sicherzustellen, dass die Ausgabedateien Ihres Pig-Schritts vorhanden sind.

## Reichen Sie Pig-Arbeiten ein, indem Sie AWS CLI
<a name="emr-pig-submit-work"></a>

**Um einen Pig-Schritt einzureichen, verwenden Sie den AWS CLI**

Wenn Sie einen Cluster mit dem starten AWS CLI, verwenden Sie den `--applications` Parameter, um Pig zu installieren. Verwenden Sie den Parameter `--steps`, um einen Pig-Schritt zu übermitteln. 

1. Um einen Cluster mit installiertem Pig zu starten, geben Sie den folgenden Befehl ein *myKey* und *amzn-s3-demo-bucket/* ersetzen Sie ihn durch den Namen Ihres EC2-Schlüsselpaars und Ihres Amazon S3 S3-Buckets.

   ```
   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
   ```
**Anmerkung**  
Linux-Zeilenfortsetzungszeichen (\$1) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

   Wenn Sie die Instance-Anzahl ohne den Parameter `--instance-groups` angeben, wird ein einzelner Master-Knoten gestartet. Die verbleibenden Instances werden als Core-Knoten aufgerufen. Alle Knoten verwenden den im Befehl angegebenen Instance-Typ.
**Anmerkung**  
Wenn Sie zuvor nicht die standardmäßige EMR-Servicerolle und das EC2-Instance-Profil erstellt haben, geben Sie `aws emr create-default-roles` ein, um sie zu erstellen, bevor Sie den Unterbefehl `create-cluster` eingeben.

1. Um einen Pig-Schritt einzureichen, geben Sie den folgenden Befehl ein *myClusterId* und *amzn-s3-demo-bucket* ersetzen Sie dabei Ihre Cluster-ID und den Namen Ihres Amazon S3 S3-Buckets.

   ```
   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]
   ```

   Dieser Befehl gibt eine Schritt-ID zurück, anhand derer Sie die Ausführung Ihres `State`-Schritts überprüfen können.

1. Fragen Sie den Status Ihres Schritts mit dem `describe-step`-Befehl ab.

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

   Der `State`-Wert des Schritts ändert sich mit der Ausführung des Schritts von `PENDING` zu `RUNNING` zu `COMPLETED`. Wenn Ihr Schritt abgeschlossen ist, überprüfen Sie Ihren Amazon-S3-Bucket, um sicherzustellen, dass die Ausgabedateien Ihres Pig-Schritts vorhanden sind.

Weitere Informationen zur Verwendung von Amazon EMR-Befehlen in der AWS CLI finden Sie in der [AWS CLI Befehlsreferenz.](https://docs.aws.amazon.com/cli/latest/reference/emr)