Skip to content

ad hoc query

qifeng dai edited this page Aug 10, 2017 · 25 revisions

1.执行即席查询

说明:直接执行一个即席查询,对项目 "有执行权限的用户和项目所有者" 可以直接运行。并可以获取结果。

POST     /projects/:project-name/adHoc/:adHoc-name
Parameters: stms={stms}&limit={limit}&proxyUser={proxyUser}&queue={queue}&notifyType={notifyType}&notifyMails={notifyMails}&udfs={udfs}&timeout={timeout}&type={type}

Response:
Status: 201 Created
{
  "execId": 1379
}

参数说明:

参数 类型 是否必选 描述 说明
stms string 具体的执行语句,多个语句之间以 ; 分隔
limit int 查询结果数 默认为:1000, 有效值 (0,5000]
proxyUser string 执行的代理用户
queue string 执行的队列
type enum 即席查询的类型,支持 HIVE, SPARK, PHOENIX 默认是 HIVE
udfs jsonArray 用到的用户自定义函数 参考: [[任务描述
timeout int 超时时间 单位: 秒

2.获取即席查询日志

说明:获取即席查询的日志,对项目 "有执行权限的用户和项目所有者" 可以获取即席查询日志。

GET /adHoc/:execId/logs?
Parameters: index={index}&from={from}&size={size}&query={query-string}

Response:
Status: 200 OK
{
  "status": 0,
  "lastSql": false,
  "hasResult": false,
  "logContent": null
}

参数说明:

参数 类型 是否必选 描述 说明
index int sql 的序号
from int 起始记录行(注意:不是页行) 默认 0, 有效值 (0, max-int]
size int 请求多少个日志 默认是:100, 有效值 (0, 1000]
query string 查询串

返回说明:

参数 类型 是否必选 描述 说明
status int 任务状态,根据状态决定下次的访问
lastSql bool 是否是最后一条 SQL
hasResult bool 是否已经有结果了
logContent jsonObject 日志信息

3.获取即席查询结果

说明:获取即席查询的日志,对项目 "有执行权限的用户和项目所有者" 可以获取即席查询日志。

GET /adHoc/:execId/result?
Parameters: index={index}
  
Response:
Status: 200 OK
{
  "startTime": 1468391778000,
  "endTime": 1468391778000,
  "name": "test",
  "stm": "show tables",
  "results": {
    "titles": ["tab_name"],
    "values":[
      ["bdi_mid_app_error"],
      ["bdi_mid_app_error_new"]
    ]
  }
}

参数说明:

参数 类型 是否必选 描述 说明
index int sql 的序号

返回说明:

参数 类型 是否必选 描述 说明
startTime long 起始时间
endTime long 结束时间
name string 即系查询名称
stm string 具体的语句
results jsonObject 执行的返回结果

results 说明:

参数 类型 是否必选 描述 说明
titles long 查询出来的 title
values jsonObject 查询出来的 title 对应 value

4.停止即席查询运行

说明:停止某个正在运行的即席查询,所属项目 "有执行权限的用户和项目所有者可以 kill 正在运行的即席查询"。

POST    /adHoc/:execId/kill

Response:
Status: 201 Created

5.即席查询执行历史

说明:根据某个即席查询的名称,查询该即席查询所有的执行记录。

GET    /projects/:project-name/adHoc/:adHoc-name

Response:
[
  {
    "execId": 973,
    "startTime": 1468391778000,
    "endTime": 1468391778000,
    "stms": "use desc",
    "type": "HIVE",
    "status": 4
    "proxyUser": "shuanghu",
    "queue": "others"
  }
]
Status: 200 OK

返回说明:

返回结果根据 startTime 逆序排序。

参数 类型 是否必选 描述 说明
execId long 执行ID
startTime long 起始时间
endTime long 结束时间
stms string 具体的语句
type enum 即席查询的类型
status enum 执行的状态
proxyUser string 执行的代理用户
queue string 执行队列

6.删除一个即席查询记录

说明:根据某个即席查询的名称删除所有记录

DELETE    /projects/:project-name/adHoc/:adHoc-name

Response:
Status: 200 OK