Soumission de travail Pig - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Soumission de travail Pig

Cette section explique comment soumettre le travail de Pig à un EMR cluster Amazon. Les exemples suivants génèrent un rapport contenant le nombre total d'octets transférés, une liste des 50 adresses IP principales, une liste des 50 référents externes principaux et les 50 critères de recherche principaux sur Bing et Google. Le script Pig est situé dans le compartiment Amazon S3 s3://elasticmapreduce/samples/pig-apache/do-reports2.pig. Les données d'entrée sont situées dans le compartiment Amazon S3 s3://elasticmapreduce/samples/pig-apache/input. La sortie est enregistrée dans un compartiment Amazon S3.

Soumettez le travail de Pig à l'aide de la EMR console Amazon

Cet exemple décrit comment utiliser la EMR console Amazon pour ajouter une étape Pig à un cluster.

Pour soumettre une étape Pig
  1. Ouvrez la EMR console Amazon à l'adresse https://console.aws.amazon.com/emr.

  2. Choisissez Créer un cluster pour créer un cluster avec Pig installé. Pour savoir comment créer un cluster, consultez Planifier et configurer un EMR cluster Amazon.

  3. Ouvrez un terminal et accédez au nœud principal de votre cluster SSH en suivant les étapes décrites dans la section Se connecter au nœud principal à l'aide deSSH. Une fois que vous avez fait cela, exécutez les étapes suivantes.

    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
  4. Dans la console, cliquez sur Liste des clusters et sélectionnez le nom du cluster que vous avez créé.

  5. Faites défiler l'affichage jusqu'à la section Étapes et développez-la, puis choisissez Ajouter une étape.

  6. Dans la boîte de dialogue Ajouter une étape :

    • Pour Type d'étape, choisissez Programme Pig.

    • Pour Nom, acceptez le nom par défaut (Programme Pig) ou saisissez un nouveau nom.

    • Pour Emplacement S3 du script, saisissez l'emplacement du script Pig. olpPar exemple : s3://elasticmapreduce/samples/pig-apache/do-reports2.pig.

    • Pour Emplacement S3 d'entrée, saisissez l'emplacement des données d'entrée. olpPar exemple : s3://elasticmapreduce/samples/pig-apache/input.

    • Pour Emplacement S3 de sortie, saisissez le nom du compartiment de sortie Amazon S3 ou naviguez à ce dernier.

    • Pour Arguments, laissez le champ vide.

    • Pour Action sur échec, acceptez l'option par défaut (Continuer).

  7. Choisissez Ajouter. L'étape s'affiche dans la console avec le statut En suspens.

  8. Le statut de l'étape passe de Pending (En suspens) à Running (En cours d'exécution) puis à Completed (Terminé), au fur et à mesure de son exécution. Pour mettre à jour l'état, choisissez l'icône d'Actualisation au-dessus de la colonne Actions. Lorsque votre étape est terminée, vérifiez votre compartiment Amazon S3 pour confirmer que les fichiers de sortie de votre étape Pig s'y trouvent.

Soumettez le travail de Pig à l'aide du AWS CLI

Pour soumettre une étape Pig à l'aide du AWS CLI

Lorsque vous lancez un cluster à l'aide du paramètre AWS CLI, utilisez le --applications paramètre pour installer Pig. Pour soumettre une étape Pig, utilisez le paramètre --steps.

  1. Pour lancer un cluster sur lequel Pig est installé, tapez la commande suivante, en amzn-s3-demo-bucket/ remplaçant myKey et par le nom de votre paire de EC2 clés et de votre compartiment 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
    Note

    Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

    Lorsque vous spécifiez le nombre d'instances sans utiliser le paramètre --instance-groups, un seul nœud maître est lancé et les instances restantes sont lancées en tant que nœuds principaux. Tous les nœuds utilisent le type d'instance spécifié dans la commande.

    Note

    Si vous n'avez pas encore créé le rôle de EMR service et le profil d'EC2instance par défaut, tapez aws emr create-default-roles pour les créer avant de taper la create-cluster sous-commande.

  2. Pour soumettre une étape Pig, entrez la commande suivante, en amzn-s3-demo-bucket remplaçant myClusterId et par votre ID de cluster et le nom de votre compartiment 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]

    Cette commande renverra un identifiant d'étape, que vous pourrez utiliser pour vérifier le State de votre étape.

  3. Vérifiez l'état de votre étape à l'aide de la commande describe-step.

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

    La valeur State de l'étape passe de PENDING à RUNNING, puis à COMPLETED, au fur et à mesure que l'étape s'exécute. Lorsque votre étape est terminée, vérifiez votre compartiment Amazon S3 pour confirmer que les fichiers de sortie de votre étape Pig s'y trouvent.

Pour plus d'informations sur l'utilisation EMR des commandes Amazon dans le AWS CLI, consultez la référence des AWS CLI commandes.