

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 `StartJobRun` 提交任务运行
<a name="emr-eks-jobs-submit"></a>

**使用具有指定参数的 JSON 文件来提交任务运行**

1. 创建 `start-job-run-request.json` 文件并指定任务运行所需的参数，如下面的 JSON 文件所示。有关这些参数的更多信息，请参阅[配置任务运行的选项](emr-eks-jobs-CLI.md#emr-eks-jobs-parameters)。

   ```
   {
     "name": "{{myjob}}", 
     "virtualClusterId": "{{123456}}",  
     "executionRoleArn": "{{iam_role_name_for_job_execution}}", 
     "releaseLabel": "{{emr-6.2.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}}"
         }
       }
     }
   }
   ```

1. 使用 `start-job-run` 命令和存储在本地的 `start-job-run-request.json` 文件路径。

   ```
   aws emr-containers start-job-run \
   --cli-input-json {{file://./start-job-run-request.json}}
   ```

**使用 `start-job-run` 命令来开启任务运行。**

1. 使用 `StartJobRun` 命令提供所有指定的参数，如以下示例所示。

   ```
   aws emr-containers start-job-run \
   --virtual-cluster-id {{123456}} \
   --name {{myjob}} \
   --execution-role-arn {{execution-role-arn}} \
   --release-label {{emr-6.2.0-latest}} \
   --job-driver '{"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"}}' \
   --configuration-overrides '{"applicationConfiguration": [{"classification": "spark-defaults", "properties": {"spark.driver.memory": "2G"}}], "monitoringConfiguration": {"cloudWatchMonitoringConfiguration": {"logGroupName": "{{log_group_name}}", "logStreamNamePrefix": "{{log_stream_prefix}}"}, "persistentAppUI":"ENABLED",  "s3MonitoringConfiguration": {"logUri": "s3://{{my_s3_log_location}}" }}}'
   ```

1. 对于 Spark SQL，使用 `StartJobRun` 命令提供所有指定的参数，如以下示例所示。

   ```
   aws emr-containers start-job-run \
   --virtual-cluster-id {{123456}} \
   --name {{myjob}} \
   --execution-role-arn {{execution-role-arn}} \
   --release-label {{emr-6.7.0-latest}} \
   --job-driver '{"sparkSqlJobDriver": {"entryPoint": "{{entryPoint_location}}", "sparkSqlParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1"}}' \
   --configuration-overrides '{"applicationConfiguration": [{"classification": "spark-defaults", "properties": {"spark.driver.memory": "2G"}}], "monitoringConfiguration": {"cloudWatchMonitoringConfiguration": {"logGroupName": "{{log_group_name}}", "logStreamNamePrefix": "{{log_stream_prefix}}"}, "persistentAppUI":"ENABLED",  "s3MonitoringConfiguration": {"logUri": "s3://{{my_s3_log_location}}" }}}'
   ```