更新时间:2024-11-29 GMT+08:00

查询SQL结果

功能介绍

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

URI

  • URI格式

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

  • 参数说明
    表1 URI参数说明

    名称

    是否必选

    参数类型

    说明

    project_id

    String

    参数解释:

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

    约束限制:

    不涉及

    取值范围:

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

    默认取值:

    不涉及

    cluster_id

    String

    参数解释:

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

    约束限制:

    不涉及

    取值范围:

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

    默认取值:

    不涉及

    sql_id

    String

    参数解释:

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

    约束限制:

    不涉及

    取值范围:

    不涉及

    默认取值:

    不涉及

请求参数

无。

响应参数

状态码:200

表2 响应参数说明

参数名

参数类型

说明

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"
}

状态码

状态码请参见状态码

错误码

请参见错误码