提交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"
}
 状态码
状态码请参见状态码。
错误码
请参见错误码。