Définition des paramètres du modèle de tâche - 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.

Définition des paramètres du modèle de tâche

Les paramètres du modèle de tâche vous permettent d'indiquer des variables dans le modèle de tâche. Les valeurs de ces variables de paramètres devront être indiquées lors du démarrage d'une exécution de tâche à l'aide de ce modèle de tâche. Les paramètres du modèle de tâche sont indiqués au format ${parameterName}. Vous pouvez choisir d'indiquer n'importe quelle valeur dans un champ jobTemplateData comme paramètre de modèle de tâche. Pour chacune des variables de paramètre du modèle de tâche, indiquez son type de données (STRING ou NUMBER) et éventuellement une valeur par défaut. L'exemple ci-dessous montre comment vous pouvez indiquer les paramètres du modèle de tâche pour l'emplacement du point d'entrée, la classe principale et les valeurs de l'emplacement du journal S3.

Indication de l'emplacement du point d'entrée, de la classe principale et de l'emplacement du journal Amazon S3 en tant que paramètres du modèle de tâche

  1. Créez un create-job-template-request.json fichier et spécifiez les paramètres requis pour votre modèle de tâche, comme indiqué dans l'exemple de JSON fichier suivant. Pour plus d'informations sur les paramètres, consultez le CreateJobTemplateAPI.

    { "name": "mytemplate", "jobTemplateData": { "executionRoleArn": "iam_role_arn_for_job_execution", "releaseLabel": "emr-6.7.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "${EntryPointLocation}", "entryPointArguments": [ "argument1","argument2",...], "sparkSubmitParameters": "--class ${MainClass} --conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.driver.memory":"2G" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED", "cloudWatchMonitoringConfiguration": { "logGroupName": "my_log_group", "logStreamNamePrefix": "log_stream_prefix" }, "s3MonitoringConfiguration": { "logUri": "${LogS3BucketUri}" } } }, "parameterConfiguration": { "EntryPointLocation": { "type": "STRING" }, "MainClass": { "type": "STRING", "defaultValue":"Main" }, "LogS3BucketUri": { "type": "STRING", "defaultValue":"s3://my_s3_log_location/" } } } }
  2. Utilisez la commande create-job-template avec un chemin d'accès au fichier create-job-template-request.json stocké localement ou dans Amazon S3.

    aws emr-containers create-job-template \ --cli-input-json file://./create-job-template-request.json

Démarrage d'une exécution de tâche à l'aide d'un modèle de tâche et des paramètres du modèle de tâche

Pour démarrer une tâche avec un modèle de tâche contenant les paramètres du modèle de tâche, spécifiez l'identifiant du modèle de tâche ainsi que les valeurs des paramètres du modèle de tâche dans la StartJobRun API demande, comme indiqué ci-dessous.

aws emr-containers start-job-run \ --virtual-cluster-id 123456 \ --name myjob \ --job-template-id 1234abcd \ --job-template-parameters '{"EntryPointLocation": "entry_point_location","MainClass": "ExampleMainClass","LogS3BucketUri": "s3://example_s3_bucket/"}'