提交SQL语句
功能介绍
在MRS集群中提交并执行一条SQL语句。
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 |
错误描述 |
请求示例
提交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" }
状态码
状态码请参见状态码。
错误码
请参见错误码。