
# 作业任务参数说明
在[指定集群创建作业](https://support.huaweicloud.com/api-cdm/CreateJob.html)或者[随机集群创建作业并执行](https://support.huaweicloud.com/api-cdm/CreateAndStartRandomClusterJob.html)时，由"driver-config-values"参数指定作业任务配置，包含如下功能：
- 作业失败重试：如果作业执行失败，可选择是否自动重新启动作业。
- 作业分组：CDM支持对作业进行分组，分组后的作业可以按组显示、按组批量删除作业、按组批量启动作业、按组导出等。
- 是否定时执行：可选择作业是否定时自动启动。
- 抽取并发数：可设置同时执行的抽取任务数。
- 是否写入脏数据：如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中，以便后面查看，可通过该参数配置，写入脏数据前需要先配置好OBS连接。
- 作业运行完是否删除：可选择是否自动删除作业。
#### JSON样例
```
"driver-config-values": {
        "configs": [
          {
            "inputs": [
              {
                "name": "throttlingConfig.numExtractors",
                "value": "1"
              },
              {
                "name": "throttlingConfig.numLoaders",
                "value": "1"
              },
              {
                "name": "throttlingConfig.recordDirtyData",
                "value": "false"
              }
            ],
            "name": "throttlingConfig"
          },
          {
            "inputs": [],
            "name": "jarConfig"
          },
          {
            "inputs": [
              {
                "name": "schedulerConfig.isSchedulerJob",
                "value": "false"
              },
              {
                "name": "schedulerConfig.disposableType",
                "value": "NONE"
              }
            ],
            "name": "schedulerConfig"
          },
          {
            "inputs": [],
            "name": "transformConfig"
          },
          {
            "inputs": [
              {
                "name": "retryJobConfig.retryJobType",
                "value": "NONE"
              }
            ],
            "name": "retryJobConfig"
          }
        ]
      }
```
#### 参数说明
| 参数                                  | 是否必选 | 类型      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| throttlingConfig.numExtractors      | 否    | Integer | 最大抽取任务并发数，例如："20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| groupJobConfig.groupName            | 否    | 枚举      | 选择作业所属的分组，默认分组为"DEFAULT"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| throttlingConfig.numLoaders         | 否    | Integer | 仅当HBase或Hive作为目的数据源时该参数才有效。 最大加载任务数，例如："5"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| throttlingConfig.recordDirtyData    | 否    | Boolean | 是否写入脏数据，例如："true"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| throttlingConfig.writeToLink        | 否    | String  | 脏数据要写入的连接，目前只支持写入到OBS连接或HDFS连接。例如："obslink"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| throttlingConfig.obsBucket          | 否    | String  | 写入脏数据的OBS桶的名称，只有当脏数据要写入OBS连接的时候，此参数才生效。例如："dirtyData"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| throttlingConfig.dirtyDataDirectory | 否    | String  | 写入脏数据的目录： - 如果选择写入到HDFS，此参数即为HDFS目录。  - 如果选择写入到OBS，此参数表示相应的OBS桶下的目录，例如："/data/dirtydata/"。                                                                                                                                                                                                                                                                                              |
| throttlingConfig.maxErrorRecords    | 否    | String  | 单个分片的最大错误记录数。单个map的错误记录超过设置的最大错误记录数时，任务自动结束，已经导入的数据不回退。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| schedulerConfig.isSchedulerJob      | 否    | Boolean | 是否开启定时任务，例如："true"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| schedulerConfig.cycleType           | 否    | String  | 定时任务的周期类型，目前支持五种周期类型： - minute：分钟  - hour：小时  - day：天  - week：周  - month：月                                                                                                        |
| schedulerConfig.cycle               | 否    | Integer | 定时任务的周期，如果周期类型选择了"minute"，"cycle"输入"10"，就表示该定时任务每10分钟执行一次。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| schedulerConfig.runAt               | 否    | String  | 定时任务在周期内的触发时间，当周期为"hour"、"week"或"month"时，该参数有效。 - 如果周期类型为"month"，设定周期为"1"，"runAt"输入"15"，就表示每个月的15号执行该定时任务。并且该参数支持输入多个，以英文的逗号","分隔开。 例如上述场景中"runAt"输入"1,2,3,4,5"，就表示每个月的1日、2日、3日、4日和5日执行该定时任务。   - 周期类型为"week"时，"runAt"输入"mon,tue,wed,thu,fri"，就表示周一到周五执行该定时任务。  - 周期类型为"hour"时，"runAt"输入"27,57"，表示周期内的27分和57分执行该定时任务。   |
| schedulerConfig.startDate           | 否    | String  | 定时任务的开始时间，例如："2018-01-24 19:56:19"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| schedulerConfig.stopDate            | 否    | String  | 定时任务的结束日期，例如："2018-01-27 23:59:00"。 如果不输入结束时间，则表示定时任务将一直执行，永远不会结束。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| schedulerConfig.disposableType      | 否    | 枚举      | 作业运行完是否删除： - NONE：作业执行完不删除。  - DELETE_AFTER_SUCCEED：仅作业执行成功时删除该作业，适合海量一次性作业。  - DELETE：作业执行完删除该作业，执行成功或失败都会删除。                                                                                                                                                                                                                                   |
| retryJobConfig.retryJobType         | 否    | 枚举      | 如果作业执行失败，选择是否自动重试： - NONE：不重试。  - RETRY_TRIPLE：重试三次。                                                                                                                                                                                                                                                                                                                                   |
   
