-
Notifications
You must be signed in to change notification settings - Fork 18
ad hoc query
qifeng dai edited this page Aug 10, 2017
·
25 revisions
说明:直接执行一个即席查询,对项目 "有执行权限的用户和项目所有者" 可以直接运行。并可以获取结果。
POST /projects/:project-name/adHoc/:adHoc-name
Parameters: stms={stms}&limit={limit}&proxyUser={proxyUser}&queue={queue}¬ifyType={notifyType}¬ifyMails={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 | 否 | 超时时间 | 单位: 秒 |
说明:获取即席查询的日志,对项目 "有执行权限的用户和项目所有者" 可以获取即席查询日志。
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 | 否 | 日志信息 |
说明:获取即席查询的日志,对项目 "有执行权限的用户和项目所有者" 可以获取即席查询日志。
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 |
说明:停止某个正在运行的即席查询,所属项目 "有执行权限的用户和项目所有者可以
kill
正在运行的即席查询"。
POST /adHoc/:execId/kill
Response:
Status: 201 Created
说明:根据某个即席查询的名称,查询该即席查询所有的执行记录。
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 | 是 | 执行队列 |
说明:根据某个即席查询的名称删除所有记录
DELETE /projects/:project-name/adHoc/:adHoc-name
Response:
Status: 200 OK