提交SQL语句-ExecuteSql
功能介绍
在MRS集群中提交并执行一条SQL语句。
接口约束
无。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和受限项。
- 如果使用身份策略授权,需具备如下身份策略权限。
URI
请求参数
| 参数名 | 是否必选 | 参数类型 | 说明 |
|---|---|---|---|
| sql_type | 是 | String | 参数解释: SQL类型。目前仅支持“presto”类型的SQL。 约束限制:
取值范围: presto:分布式SQL查询引擎。 默认取值: 不涉及 |
| sql_content | 是 | String | 参数解释: 待执行的SQL语句。目前仅支持执行单条语句,语句中不包含“;”。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| database | 否 | String | 参数解释: 执行SQL所在的数据库。 约束限制: 不涉及 取值范围: 不涉及 默认取值: default |
| archive_path | 否 | String | 参数解释: SQL执行结果的转储文件夹。只有select语句才会转储查询的结果。当前仅支持转储到OBS中。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:200
| 参数名 | 参数类型 | 说明 |
|---|---|---|
| id | String | 参数解释: SQL的执行id。执行select、show和desc语句时才会生成id,其他操作id为空。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| message | String | 参数解释: 错误信息。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| statement | String | 参数解释: 执行的SQL语句。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| status | String | 参数解释: SQL的执行状态。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
| result_location | String | 参数解释: SQL查询语句的最终结果归档路径。只有select的语句才会将SQL的执行结果转储到result_location中。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| content | Array<Array<String>> | 参数解释: SQL的执行结果。只有非select的语句才会在content中返回结果,如果SQL中没有结果,content为空。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| error_msg | String | 参数解释: 错误描述。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
提交一个presto类型的SQL语句
POST https://{endpoint}/v2/{project_id}/clusters/{cluster_id}/sql-execution
{
"sql_type" : "presto",
"sql_content" : "show tables",
"database" : "default",
"archive_path" : "obs://my-bucket/path"
} 响应示例
状态码:200
提交SQL语句成功
{
"id" : "20190909_011820_00151_xxxxx",
"statement" : "show tables",
"status" : "FINISHED",
"result_location" : " obs://my_bucket/uuid_date/xxxx.csv",
"content" : [ [ "t1", null ], [ null, "t2" ], [ null, "t3" ] ]
} 状态码:400
提交SQL语句失败
{
"error_code" : "MRS.0011",
"message" : "提交SQL到Executor上失败,集群ID为xxxx"
} 状态码
状态码请参见状态码。
错误码
请参见错误码。