Apache Kylin的主要API:
1.用户认证 post /kylin/api/user/authentication
curl -c /path/to/cookiefile.txt -X POST -H "Authorization: Basic XXXXXXXXX" -H 'Content-Type: application/json' http://:/kylin/api/user/authentication
选择的-c后面的路径下保存了jsession id的cookiefile文件
下次调用时直接-b
curl -b /path/to/cookiefile.txt -X PUT -H 'Content-Type: application/json' -d '{"startTime":'1423526400000', "endTime":'1423526400', "buildType":"BUILD"}' http://:/kylin/api/cubes/your_cube/build
当然也可以用--user参数直接显示的输入用户名和密码
curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '{ "startTime": 820454400000, "endTime": 821318400000, "buildType": "BUILD"}' http://localhost:7070/kylin/api/cubes/kylin_sales/build
2.查询 post /kylin/api/query
需要用到参数:
sql //string类型的参数,需要执行的sql语句
offset //int类型的参数,开始执行的位置,若在sql中指定了则可以将此参数省略
limit //int类型的参数,限制返回的行数,同样如果在sql中指定了则可以省略此参数
acceptPartial //布尔型的参数,是否接受返回部分结果
project //string类型的参数,执行query的工程,默认值为DEDFAULT
{
"sql":"select * from TEST_KYLIN_FACT",
"offset":0,
"limit":50000,
"acceptPartial":false,
"project":"DEFAULT"
}
curl的sample
curl -X POST -H "Authorization: Basic XXXXXXXXX" -H "Content-Type: application/json" -d '{ "sql":"select count(*) from TEST_KYLIN_FACT", "project":"learn_kylin" }' http://localhost:7070/kylin/api/query
返回结果的各参数含义:
columnMetas:结果集中的各列的元数据信息
results:返回的数据结果集
cube:此次查询用到的cube
affectedRowcount:此次查询受影响的行数
isException:此次返回的结果是否异常
ExceptionMessage:返回的异常的内容
Duration:此次查询花费的时间
Partial:返回的结果是否为这次查询结果的一部分
3.列出可供查询的表 get /kylin/api/tables_and_columns
参数:
project:string类型的参数,需要查询的工程项目名
4.列出可供查询的cube名字 get /kylin/api/cubes
参数:
offset:int类型的参数,分页中的偏移量
limit:int类型的参数,每页中的偏移量
cubeName:string类型的参数,cube名字中的关键字
projectName:string类型的参数,使用的项目的名字
5.获取cube get /kylin/api/cubes/{cubeName}
路径中需要指定的参数:
cubeName:string类型的参数,需要查找的cube的名字
6.获取cube的描述信息 get /kylin/api/cube_desc/{cubeName}
路径中需要指定的参数:
cubeName:string类型的参数,需要获取描述信息的cube的名字
7.获取数据的模式 get /kylin/api/model/{modelName}
路径中需要配置的参数:
modelName:string类型的参数,数据模型的名字
8.构建cube Put /kylin/api/cubes/{cubeName}/build
路径中需要配置的参数:
cubeName:string类型的参数,cube的名字
返回信息中的参数:
startTime:开始构建cube的初始时间
endTime:构建cube的结束时间
buildType:构建cube的类型:BUILD MERGE REFRESH
curl -X PUT -H "Authorization: Basic XXXXXXXXX" -H 'Content-Type: application/json' -d '{"startTime":'1423526400000', "endTime":'1423526400', "buildType":"BUILD"}' http://:/kylin/api/cubes/{cubeName}/build
9.启用 cube PUT /kylin/api/cubes/{cubeName}/enable
路径中需要配置的参数:
cubeName:string类型的参数 cube的名字
10.禁用cube PUT /kylin/api/cubes/{cubeName}/purge
路径中需要配置的参数:
cubeName:string类型的参数,cube的名字
11.恢复任务 Resume job PUT /kylin/api/jobs/{jobId}/resume
路径中需要配置的参数:
jobId:string类型的参数,job id
12. Pause job 停用job PUT /kylin/api/jobs/{jobId}/pause
路径中需要配置的参数:
jobId:string类型的参数,job id
13.discard job 弃用job PUT /kylin/api/jobs/{jobId}/cancel
路径中需要配置的参数:
jobId:string类型的参数,job id
14.获取job的状态信息 GET /kylin/api/jobs/{jobId}
路径中需要配置的参数:
jobId:string类型的参数,job id
15.获取job每一步的输出 GET /kylin/api/jobs/{jobId}/steps/{stepId}/output
路径中需要配置的参数信息:
jobId:string类型的参数,job id
stepId:string类型的参数,要返回的步骤的id
16.获取hive的表 GET /kylin/api/tables/{tableName}
需要的参数:
tableName:string类型的参数,查找的hive表的名字
17.获取hive表的扩展信息 GET /kylin/api/tables/{tableName}/exd-map
需要的参数信息:
tableName:string类型的参数,要返回信息的表名
18.获取hive中的所有的表 GET /kylin/api/tables
需要的参数信息:
project:string类型的参数,需要列出所有表的工程名
ext:布尔类型的参数,是否返回扩展信息
19.加载hive中的表,多个 POST /kylin/api/tables/{tables}/{project}
需要用到的参数:
tables:string类型的参数 用逗号分割,需要从hive中加载的表名字
project:string类型的参数,需要把hive中的表加载到的工程名字
20.清除缓存 PUT /kylin/api/cache/{type}/{name}/{action}
路径中需要配置的信息:
type:string类型的参数 METADATA 或者CUBE
name:string类型的参数,cache的关键字,比如:cube name
action:string类型的参数,create update 或者 drop
21.初始化数据集的初始位置
PUT /kylin/api/cubes/{cubeName}/init_start_offsets
路径中需要指定的参数信息:
cubeName:string类型的参数
22.构建流式的cube
PUT /kylin/api/cubes/{cubeName}/build2
路径中需要配置的参数:
cubeName:string类型的参数
需要的参数:
sourceOffsetStart:long类型的参数 0代表以前位置
sourceOffsetEnd:long类型的参数
buildType:需要的build的类型 BUILD MERGE REFRESH
23.检查文件segment的holes GET /kylin/api/cubes/{cubeName}/holes
路径的配置参数:
cubeName:string类型参数
24.填充的segment holes PUT /kylin/api/cubes/{cubeName}/holes
路径中需要配置的参数信息:
cubeName:string类型的参数
见官网:
http://kylin.apache.org/docs20/howto/howto_use_restapi.html#authentication