
# 提交SQL作业（废弃）
#### 功能介绍
该API用于通过执行SQL语句的方式向队列提交作业。
![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
当前接口已废弃，不推荐使用。
作业包含以下类型：DDL、DCL、IMPORT、EXPORT、QUERY和INSERT。其中，IMPORT和EXPORT分别与[导入数据（废弃）](https://support.huaweicloud.com/api-dli/dli_02_0019.html)和与[导出数据（废弃）](https://support.huaweicloud.com/api-dli/dli_02_0020.html)的功能一致，区别仅在于实现方式不同。
另外，用户可使用其他API来对作业进行查询和管理。具体操作有：
- [查询作业状态 - ShowSqlJobStatus](https://support.huaweicloud.com/api-dli/dli_02_0021.html)
- [查询作业详细信息 - ShowSqlJobDetail](https://support.huaweicloud.com/api-dli/dli_02_0022.html)
- [查询作业结果（方式一）（废弃）](https://support.huaweicloud.com/api-dli/dli_02_0023.html)
- [导出查询结果 - ExportSqlJobResult](https://support.huaweicloud.com/api-dli/dli_02_0024.html)
- [查询所有作业 - ListSqlJobs](https://support.huaweicloud.com/api-dli/dli_02_0025.html)
- [取消作业（废弃）](https://support.huaweicloud.com/api-dli/dli_02_0026.html)
![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
- 该API当响应消息中"job_type"为"DCL"时，为同步操作。
- 本章节介绍的API已过时，推荐使用[提交SQL作业（推荐） - CreateSqlJob](https://support.huaweicloud.com/api-dli/dli_02_0102.html)介绍的API。
 
#### URI
- URI格式： POST /v1.0/{project_id}/queues/{queue_name}/jobs/submit-job
  
- 参数说明
  表1URI参数 
  | 名称         | 是否必选 | 说明                                                                                     |
  |:---|:---|:---|
  | project_id | 是    | 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 |
  | queue_name | 是    | 当前所在的队列的名称，此SQL若需使用资源将使用该队列的资源进行计算。                                                    |
     
  
 
#### 请求消息
表2请求参数 
| 参数        | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| sql       | 是    | String           | 待执行的SQL语句。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| currentdb | 否    | String           | SQL语句执行所在的数据库。当创建新数据库时，不需要提供此参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| conf      | 否    | Array of objects | 用户定义适用于此作业的配置参数。目前支持的配置项： - dli.sql.join.preferSortMergeJoin（是否优先使用SortMergeJoin）  - dli.sql.autoBroadcastJoinThreshold（自动使用BroadcastJoin的数据量阈值）  - dli.sql.caseSensitive（sql语句是否大小写敏感）  - dli.sql.shuffle.partitions（指定Shuffle过程中Partition的个数）  - dli.sql.cbo.enabled（是否打开CBO优化策略）  - dli.sql.cbo.joinReorder.enabled（开启CBO优化时，是否允许重新调整join的顺序）   |
   
#### 响应消息
表3响应参数 
| 参数         | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| is_success | 是    | Boolean          | 当"job_type"为"DCL"时，为请求执行是否成功。"true"表示请求执行成功。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| message    | 是    | String           | 系统提示信息，执行成功时，信息可能为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| job_id     | 是    | String           | 此SQL语句将生成并提交一个新作业，返回此作业的ID，可用于获取作业状态和作业结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| job_type   | 是    | String           | 作业类型。 - DDL  - DCL  - IMPORT  - EXPORT  - QUERY  - INSERT   |
| schema     | 否    | Array of Map     | 当语句类型为DDL时，返回其结果的列名称及类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| rows       | 否    | Array of objects | 当语句类型为DDL时，直接返回其执行结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 示例
- 请求样例：
  ```
  {
      "currentdb": "db1",
      "sql": "desc table1",
      "conf": [
          "dli.sql.shuffle.partitions = 200"
      ]
  }
  ```
  
- 成功响应样例：
  ```
  {
    "is_success": true,
    "message": "",
    "job_id": "8ecb0777-9c70-4529-9935-29ea0946039c",
    "job_type": "DDL",
    "schema": [
      {
        "col_name": "string"
      },
      {
        "data_type": "string"
      },
      {
        "comment": "string"
      }
    ],
    "rows": [
      [
        "c1",
        "int",
        null
      ],
      [
        "c2",
        "string",
        null
      ]
    ]
  }
  ```
  ![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
  调用API出错后，将不会返回上述结果，而是返回错误码和错误信息，详细介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
  
 
