更新时间:2022-12-14 GMT+08:00

提交SQL语句

功能介绍

在MRS集群中提交并执行一条SQL语句。

URI

  • URI格式

    POST /v2/{project_id}/clusters/{cluster_id}/sql-execution

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

    名称

    是否必选

    说明

    project_id

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

    cluster_id

    集群ID。获取方法,请参见获取集群ID

请求消息

表2 请求参数说明

参数名

是否必选

参数类型

说明

sql_type

String

SQL类型。目前仅支持“presto”类型的SQL。

说明:

只有包含Presto组件的集群才能提交执行presto类型的SQL。

sql_content

String

待执行的SQL语句。

说明:

目前仅支持执行单条语句,语句中不包含“;”。

database

String

执行SQL所在的数据库,默认为default。

archive_path

String

SQL执行结果的转储文件夹。

说明:

只有select语句才会转储查询的结果。当前仅支持转储到OBS中。

响应参数

表3 响应参数说明

参数名

参数类型

说明

id

String

SQL的执行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

SQL的执行结果。

说明:

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

示例

  • 请求示例
    {
        "sql_type":"presto", 
        "sql_content":"show tables", 
        "database":"default", 
        "archive_path":"obs://my-bucket/path"
     }
  • 响应示例
    • 成功示例
      {
          "id":"20190909_011820_00151_xxxxx", 
          "statement":"show tables",
          "status":”FINISHED”,
          "result_location":" obs://my_bucket/uuid_date/xxxx.csv",  
          "content":[
             ["t1"],["t2"],["t3"]   
            ] 
       }
    • 失败示例
      { 
         "error_code" : "MRS.0011", 
         "message" : "提交SQL到Executor上失败,集群ID为xxxx" 
       }

状态码

状态码请参见状态码