提交SQL语句
功能介绍
在MRS集群中提交并执行一条SQL语句。
接口约束
无。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
请求参数
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
sql_type |
是 |
String |
参数解释: 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" }
状态码
状态码请参见状态码。
错误码
请参见错误码。