更新时间:2024-08-16 GMT+08:00
分享

查询SQL结果

功能介绍

在MRS集群中查询一条SQL的执行结果。

接口约束

调用方法

请参见如何调用API

URI

GET /v2/{project_id}/clusters/{cluster_id}/sql-execution/{sql_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目编号。获取方法,请参见获取项目ID

约束限制:

不涉及

取值范围:

只能由英文字母和数字组成,且长度为[1-64]个字符。

默认取值:

不涉及

cluster_id

String

参数解释:

集群ID。如果指定集群ID,则获取该集群做过补丁更新的最新版本元数据。获取方法,请参见获取集群ID

约束限制:

不涉及

取值范围:

只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。

默认取值:

不涉及

sql_id

String

参数解释:

SQL的执行ID,即提交SQL语句返回结果中的sql_id。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求参数

响应参数

状态码: 200

表2 响应Body参数

参数

参数类型

描述

id

String

参数解释:

SQL的执行id。执行select、show和desc语句时才会生成id,其他操作id为空。

取值范围:

不涉及

message

String

参数解释:

错误信息。

取值范围:

不涉及

statement

String

参数解释:

执行的SQL语句。

取值范围:

不涉及

status

String

参数解释:

SQL的执行状态。

取值范围:

  • QUEUED:正在排队

  • WAITING_FOR_RESOURCES:正在等待资源

  • PLANNING:正在规划

  • STARTING:正在启动

  • RUNNING:正在运行

  • FINISHING:即将完成

  • FINISHED:已完成

  • FAILED:执行失败

result_location

String

参数解释:

SQL查询语句的最终结果归档路径。只有select的语句才会在将SQL的执行结果转储到result_location中。

取值范围:

不涉及

content

Array<Array<String>>

参数解释:

SQL的执行结果。只有非select的语句才会在content中返回结果,如果SQL中没有结果,content为空。

状态码: 400

表3 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及

请求示例

查询SQL结果请求示例

GET https://{endpoint}/v2/{project_id}/clusters/{cluster_id}/sql-execution/{sql_id}

响应示例

状态码: 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"
}

状态码

状态码

描述

200

查询SQL结果成功

400

查询SQL结果失败

错误码

请参见错误码

相关文档