AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peut continuer à utiliser le service normalement. En savoir plus
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.
EmrActivity
Exécute un cluster une activité EMR.
AWS Data Pipeline utilise un format différent de celui d'Amazon pour les étapes EMR ; par exemple, AWS Data Pipeline utilise des arguments séparés par des virgules après le JAR nom dans le champ de l'EmrActivity
étape. L'exemple suivant montre une étape formatée pour AmazonEMR, suivie de son AWS Data Pipeline équivalent :
s3://example-bucket/MyWork.jar arg1 arg2 arg3
"s3://example-bucket/MyWork.jar,arg1,arg2,arg3"
Exemples
Voici un exemple de ce type d'objet. Cet exemple utilise d'anciennes versions d'AmazonEMR. Vérifiez l'exactitude de cet exemple avec la version du EMR cluster Amazon que vous utilisez.
Cet objet référence trois autres objets que vous pourriez définir dans le même fichier de définition du pipeline. MyEmrCluster
est un objet EmrCluster
. MyS3Input
et MyS3Output
sont des objets S3DataNode
.
Note
Dans cet exemple, vous pouvez remplacer le step
champ par la chaîne de cluster de votre choix, qui peut être un script Pig, un cluster de streaming Hadoop, votre propre personnalisation, JAR y compris ses paramètres, etc.
Hadoop 2.x (3.x) AMI
{ "id" : "MyEmrActivity", "type" : "EmrActivity", "runsOn" : { "ref" : "MyEmrCluster" }, "preStepCommand" : "scp remoteFiles localFiles", "step" : ["s3://mybucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://mybucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://mybucket/myPath/myotherStep.jar,..."], "postStepCommand" : "scp localFiles remoteFiles", "input" : { "ref" : "MyS3Input" }, "output" : { "ref" : "MyS3Output" } }
Note
Pour transmettre des arguments à une application dans une étape, vous devez spécifier la région dans le chemin du script, comme indiqué dans l'exemple suivant. Il est également possible que vous deviez faire précéder les arguments que vous transmettez d'une séquence d'échappement. Par exemple, si vous utilisez script-runner.jar
pour exécuter un script shell et que vous souhaitez transmettre des arguments au script, vous devez faire précéder les virgules qui les séparent d'une séquence d'échappement. L'extrait d'étape suivant montre comment procéder :
"step" : "s3://
eu-west-1
.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
Cette étape utilise script-runner.jar
pour exécuter le script shell echo.sh
et transmet a
, b
et c
comme un seul argument au script. Comme le premier caractère d'échappement est supprimé de l'argument obtenu, il se peut que vous ayez à nouveau besoin de le faire précéder d'une séquence d'échappement. Par exemple, si vous aviez File\.gz
comme argumentJSON, vous pourriez y échapper en utilisantFile\\\\.gz
. Cependant, comme la première séquence d'échappement est ignorée, vous devez utiliser File\\\\\\\\.gz
.
Syntaxe
Champs d'invocation de l'objet | Description | Type d'option |
---|---|---|
schedule | Cet objet est appelé dans le cadre de l'exécution d'un intervalle de planification. Spécifiez une référence de planification à un autre objet pour définir l'ordre d'exécution des dépendances de l'objet. Vous pouvez répondre à cette exigence en définissant explicitement une planification sur l'objet, par exemple, en spécifiant "schedule": {"ref":
"DefaultSchedule"} . Dans la plupart des cas, il est préférable de placer la planification de référence sur l'objet de pipeline par défaut de manière à ce que tous les objets héritent cette planification. Ou, si le pipeline dispose d'une arborescence de planifications (planifications au sein de la planification maître), vous pouvez créer un objet parent ayant une référence de planification. Pour plus d'informations sur les exemples de configurations de planification facultatives, consultez https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html. |
Objet de référence, par exemple, « schedule » : {"ref » : » myScheduleId «} |
Groupe obligatoire (l'un des groupes suivants est obligatoire) | Description | Type d'option |
---|---|---|
runsOn | Le EMR cluster Amazon sur lequel cette tâche sera exécutée. | Objet de référence, par exemple, "runsOn« : {" ref » : » myEmrCluster Id "} |
workerGroup | Groupe de travail. Utilisé pour les tâches d'acheminement. Si vous fournissez une valeur runsOn et que workerGroup existe, workerGroup est ignoré. |
Chaîne |
Champs facultatifs | Description | Type d'option |
---|---|---|
attemptStatus | État de l'activité à distance le plus récemment rapporté. | Chaîne |
attemptTimeout | Délai d'achèvement de la tâche à distance. Si une valeur est définie, une activité à distance qui n'est pas exécutée dans le cadre de la période de départ définie peut être retentée. | Période |
dependsOn | Spécifie une dépendance sur un autre objet exécutable. | Objet de référence, par exemple, "dependsOn« : {" ref » : » myActivityId «} |
failureAndRerunMode | Décrit le comportement du nœud de consommateurs lorsque les dépendances échouent ou sont à nouveau exécutées. | Énumération |
input | Emplacement des données d'entrée. | Objet de référence, par exemple, « input » : {"ref » : » myDataNode Id "} |
lateAfterTimeout | Temps écoulé après le début du pipeline pendant lequel l'objet doit être terminé. Il est déclenché uniquement lorsque le type de planification n'est pas défini surondemand . |
Période |
maxActiveInstances | Nombre maximal d'instances actives simultanées d'un composant. Les réexécutions ne sont pas comptabilisées dans le nombre d'instances actives. | Entier |
maximumRetries | Nombre maximal de nouvelles tentatives en cas d'échec. | Entier |
onFail | Action à exécuter en cas d'échec de l'objet actuel. | Objet de référence, par exemple, "onFail« : {" ref » : » myActionId «} |
onLateAction | Actions à déclencher si un objet n'a pas encore été planifié ou n'est toujours pas terminé. | Objet de référence, par exemple, "onLateAction« : {" ref » : » myActionId «} |
onSuccess | Action à exécuter en cas de réussite de l'objet actuel. | Objet de référence, par exemple, "onSuccess« : {" ref » : » myActionId «} |
output | Emplacement des données de sortie. | Objet de référence, par exemple, « output » : {"ref » : » myDataNode Id "} |
parent | Parent de l'objet actuel à partir duquel les emplacements sont hérités. | Objet de référence, par exemple, « parent » : {"ref » : » myBaseObject Id "} |
pipelineLogUri | L'Amazon S3URI, tel que 's3 ://BucketName/Prefix/ 'pour le téléchargement des journaux pour le pipeline. | Chaîne |
postStepCommand | Scripts shell à exécuter une fois toutes les étapes terminées. Pour spécifier plusieurs scripts, jusqu'à 255, ajoutez plusieurs champs postStepCommand . |
Chaîne |
precondition | Définit une condition préalable facultative. Un nœud de données n'est marqué « READY » que lorsque toutes les conditions préalables sont remplies. | Objet de référence, par exemple, « précondition » : {"ref » : » myPreconditionId «} |
preStepCommand | Scripts shell à exécuter avant l'exécution de toute étape. Pour spécifier plusieurs scripts, jusqu'à 255, ajoutez plusieurs champs preStepCommand . |
Chaîne |
reportProgressTimeout | Délai pour les appels successifs de travail à distance adressés à reportProgress . Si une valeur est définie, les activités à distance qui ne font pas état d'avancement pour la période spécifiée doivent être considérées comme bloquées et, par conséquent, retentées. |
Période |
resizeClusterBeforeCourir |
Redimensionnez le cluster avant d'effectuer cette activité afin de l'adapter aux tables DynamoDB spécifiées en entrée ou en sortie. NoteSi vous |
Booléen |
resizeClusterMaxInstances | Limite du nombre maximal d'instances qui peuvent être demandées par l'algorithme de redimensionnement. | Entier |
retryDelay | Délai entre deux nouvelles tentatives. | Période |
scheduleType | Le type de planification vous permet de spécifier si les objets de votre définition de pipeline doivent être planifiés au début ou à la fin de l'intervalle. Les valeurs sont : cron , ondemand et timeseries (cron, à la demande et séries chronologiques). La planification timeseries signifie que les instances sont programmées à la fin de chaque intervalle. La planification cron signifie que les instances sont programmées au début de chaque intervalle. Une planification ondemand vous permet d'exécuter un pipeline une fois par activation. Vous n'avez pas à cloner ou à recréer le pipeline pour l'exécuter à nouveau. Si vous utilisez une planification ondemand , elle doit être spécifiée dans l'objet par défaut et être le seul scheduleType spécifié pour les objets du pipeline. Pour utiliser des pipelines ondemand , vous devez appeler l'opération ActivatePipeline pour chaque exécution suivante. |
Énumération |
step | Une ou plusieurs étapes que le cluster doit exécuter. Pour spécifier plusieurs étapes, jusqu'à 255, ajoutez plusieurs champs step. Utilisez des arguments séparés par des virgules après le JAR nom, par exemple « »s3://example-bucket/MyWork.jar,arg1,arg2,arg3 . |
Chaîne |
Champs liés à l'exécution | Description | Type d'option |
---|---|---|
@activeInstances | Liste des objets d'instances actives actuellement planifiés. | Objet de référence, par exemple "activeInstances« : {" ref » : » myRunnableObject Id "} |
@actualEndTime | Heure à laquelle l'exécution de l'objet s'est terminée. | DateTime |
@actualStartTime | Heure à laquelle l'exécution de l'objet a démarré. | DateTime |
cancellationReason | cancellationReason Si cet objet a été annulé. | Chaîne |
@cascadeFailedOn | Description de la chaîne de dépendances sur laquelle l'objet a échoué. | Objet de référence, par exemple, "cascadeFailedOn« : {" ref » : » myRunnableObject Id "} |
emrStepLog | Les journaux d'EMRétapes Amazon ne sont disponibles que pour les tentatives EMR d'activité | Chaîne |
errorId | errorId si l'objet a échoué. |
Chaîne |
errorMessage | errorMessage si l'objet a échoué. |
Chaîne |
errorStackTrace | Suivi de la pile d'erreurs si l'objet a échoué. | Chaîne |
@finishedTime | Heure à laquelle l'objet a terminé son exécution. | DateTime |
hadoopJobLog | Des journaux de tâches Hadoop sont disponibles sur les tentatives d'activités EMR basées. | Chaîne |
@healthStatus | État de santé de l'objet qui reflète la réussite ou l'échec de la dernière instance qui a atteint un état résilié. | Chaîne |
@healthStatusFromInstanceId | ID du dernier objet d'instance qui atteint un état résilié. | Chaîne |
@ healthStatusUpdated Heure | Heure à laquelle l'état de santé a été mis à jour pour la dernière fois. | DateTime |
hostname | Nom d'hôte du client qui a sélectionné la tentative de tâche. | Chaîne |
@lastDeactivatedTime | Heure à laquelle l'objet a été désactivé pour la dernière fois. | DateTime |
@ latestCompletedRun Heure | Heure de la dernière exécution pour laquelle l'exécution s'est terminée. | DateTime |
@latestRunTime | Heure de la dernière exécution pour laquelle l'exécution a été planifiée. | DateTime |
@nextRunTime | Prochaine heure d'exécution planifiée. | DateTime |
reportProgressTime | Heure la plus récente pour laquelle l'activité distante a signalé une progression. | DateTime |
@scheduledEndTime | Heure de fin planifiée pour l'objet. | DateTime |
@scheduledStartTime | Heure de début planifiée pour l'objet. | DateTime |
@État | État de l'objet. | Chaîne |
@Version | Version du pipeline avec laquelle l'objet a été créé. | Chaîne |
@waitingOn | Description de la liste des dépendances sur laquelle l'objet est en attente. | Objet de référence, par exemple, "waitingOn« : {" ref » : » myRunnableObject Id "} |
Champs système | Description | Type d'option |
---|---|---|
@error | Erreur décrivant l'objet mal formé. | Chaîne |
@pipelineId | ID du pipeline auquel l'objet appartient. | Chaîne |
@sphere | La sphère d'un objet désigne sa place dans le cycle de vie : les objets « composant » entraînent les objets « instance » qui exécutent les objets « tentative ». | Chaîne |