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.
Soumettre une JAR étape personnalisée
Un programme personnalisé JAR exécute un programme Java compilé que vous pouvez télécharger sur Amazon S3. Vous devez compiler le programme en fonction de la version de Hadoop que vous souhaitez lancer et soumettre une CUSTOM_JAR
étape à votre cluster AmazonEMR. Pour plus d'informations sur la compilation d'un JAR fichier, consultezCréez des fichiers binaires à l'aide d'Amazon EMR.
Pour plus d'informations sur la création d'une MapReduce application Hadoop, consultez le MapReduce didacticiel
Cette section décrit les principes de base de la soumission d'une JAR étape personnalisée sur AmazonEMR. La soumission d'une JAR étape personnalisée vous permet d'écrire un script pour traiter vos données avec le langage de programmation Java.
Soumettre une JAR étape personnalisée avec la console
Cet exemple décrit comment utiliser la EMR console Amazon pour soumettre une JAR étape personnalisée à un cluster en cours d'exécution.
Pour soumettre une JAR étape personnalisée à l'aide de la console
Ouvrez la EMR console Amazon à l'adresse https://console.aws.amazon.com/emr
. -
Dans la Liste de clusters, sélectionnez le nom de votre cluster.
-
Faites défiler l'affichage jusqu'à la section Étapes et développez-la, puis choisissez Ajouter une étape.
-
Dans la boîte de dialogue Ajouter une étape :
-
Pour Type d'étape, choisissez Personnalisé JAR.
-
Pour Nom, acceptez le nom par défaut (personnaliséJAR) ou saisissez un nouveau nom.
-
Pour l'emplacement JAR S3, tapez ou naviguez jusqu'à l'emplacement de votre JAR fichier. JARemplacement peut-être un chemin vers S3 ou une classe Java entièrement qualifiée dans le classpath.
-
Pour Arguments, tapez les arguments requis sous forme de chaînes séparées par des espaces ou laissez le champ vide.
-
Pour Action sur échec, acceptez l'option par défaut (Continuer).
-
-
Choisissez Ajouter. L'étape s'affiche dans la console avec le statut En suspens.
-
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.
Lancer un cluster et soumettre une JAR étape personnalisée à l'aide du AWS CLI
Pour lancer un cluster et soumettre une JAR étape personnalisée à l'aide du AWS CLI
Pour lancer un cluster et soumettre une JAR étape personnalisée avec le AWS CLI, tapez la create-cluster
sous-commande avec le --steps
paramètre.
-
Pour lancer un cluster et soumettre une JAR étape personnalisée, tapez la commande suivante, remplacez
myKey
avec le nom de votre paire de EC2 clés, et remplacezamzn-s3-demo-bucket
avec le nom de votre compartiment.aws emr create-cluster --name "
Test cluster
" --release-labelemr-7.3.0
\ --applications Name=Hue
Name=Hive
Name=Pig
--use-default-roles \ --ec2-attributes KeyName=myKey
--instance-typem5.xlarge
--instance-count3
\ --steps Type=CUSTOM_JAR
,Name="Custom JAR Step
",ActionOnFailure=CONTINUE
,Jar=pathtojarfile
,Args=["pathtoinputdata
","pathtooutputbucket
","arg1
","arg2
"]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 le paramètre
--instance-groups
, un seul nœud primaire est lancé et les instances restantes sont lancées en tant que nœuds principaux. Tous les nœuds utilisent le type d'instance que vous spécifiez dans la commande.Note
Si vous n'avez pas encore créé le rôle de EMR service Amazon et le profil d'EC2instance par défaut, tapez
aws emr create-default-roles
pour les créer avant de saisir lacreate-cluster
sous-commande.Pour plus d'informations sur l'utilisation EMR des commandes Amazon dans le AWS CLI, consultezhttps://docs.aws.amazon.com/cli/latest/reference/emr.
Dépendances tierces
Parfois, il peut être nécessaire de l'inclure dans le MapReduce chemin de classe JARs à utiliser avec votre programme. Vous avez deux options pour cela :
-
Incluez
--libjars s3://
dans les options de l'étape pour la procédure dans Lancer un cluster et soumettre une JAR étape personnalisée à l'aide du AWS CLI.URI_to_JAR
-
Lancez le cluster avec un paramètre
mapreduce.application.classpath
modifié dansmapred-site.xml
. Utilisez la classification de configurationmapred-site
. Pour créer le cluster à l'aide de l'étape AWS CLI, cela ressemblerait à ce qui suit :aws emr create-cluster --release-label
emr-7.3.0
\ --applications Name=Hue
Name=Hive
Name=Pig
--use-default-roles \ --instance-type m5.xlarge --instance-count 2 --ec2-attributes KeyName=myKey
\ --steps Type=CUSTOM_JAR
,Name="Custom JAR Step
",ActionOnFailure=CONTINUE
,Jar=pathtojarfile
,Args=["pathtoinputdata
","pathtooutputbucket
","arg1
","arg2
"] \ --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.jsonmyConfig.json
:[ { "Classification": "mapred-site", "Properties": { "mapreduce.application.classpath": "
path1
,path2
" } } ]La liste des chemins séparés par des virgules doit être ajoutée au chemin de JVM classe pour chaque tâche.