ジョブ実行を開始するためのジョブテンプレートの作成と使用 - Amazon EMR

ジョブ実行を開始するためのジョブテンプレートの作成と使用

このセクションでは、ジョブテンプレートの作成と、そのテンプレートを使用して AWS Command Line Interface (AWS CLI) でジョブ実行を開始する方法について説明します。

ジョブテンプレートを作成するには

  1. create-job-template-request.json ファイルを作成し、以下の JSON ファイルの例に示すように、ジョブテンプレートに必要なパラメータを指定します。使用可能なすべてのパラメータの詳細については、「CreateJobTemplate API」を参照してください。

    StartJobRun API に必要なほとんどの値は jobTemplateData にも必要です。パラメータにプレースホルダーを使用し、ジョブテンプレートを使用して StartJobRun を呼び出すときに値を指定する場合は、ジョブテンプレートのパラメータに関する次のセクションを参照してください。

    { "name": "mytemplate", "jobTemplateData": { "executionRoleArn": "iam_role_arn_for_job_execution", "releaseLabel": "emr-6.7.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location", "entryPointArguments": [ "argument1","argument2",...], "sparkSubmitParameters": "--class <main_class> --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": "s3://my_s3_log_location/" } } } } }
  2. ローカルに保存されている create-job-template-request.json ファイルへのパスを指定して、create-job-template コマンドを使用します。

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

ジョブテンプレートを使用してジョブ実行を開始するには

以下の例に示すように、StartJobRun コマンドで、仮想クラスター ID、ジョブテンプレート ID、ジョブ名を指定します。

aws emr-containers start-job-run \ --virtual-cluster-id 123456 \ --name myjob \ --job-template-id 1234abcd