Kylin 使用RESTful API进行cube的增量更新
来源:互联网 发布:pitstop汉化破解版mac 编辑:程序博客网 时间:2024/05/16 02:13
一、生成鉴权文件,之后每一步都需要使用cookfile.txt
curl -c cookfile.txt -X POST \-H "Authorization:Basic QURNSU46S1lMSU4=" \-H "Content-Type: application/json" \http://hostname:7070/kylin/api/user/authentication
ADMIN:KYLIN使用Base64编码后的结果为:QURNSU46S1lMSU4=。
-c : cookie写入的文件。
-H : 自定义header传递给服务器。
-X : 指定使用的请求命令。
返回json格式结果如下:
{ "userDetails": { "accountNonExpired": true, "accountNonLocked": true, "authorities": [ { "authority": "ROLE_ADMIN" }, { "authority": "ROLE_ANALYST" }, { "authority": "ROLE_MODELER" } ], "credentialsNonExpired": true, "enabled": true, "password": null, "username": "ADMIN" }}
二、获取project下面所有的cube
curl -b cookfile.txt \-X GET \-H "Content-Type: application/json" \hostname:7070/kylin/api/cubes?projectName=TEST\&offset=0\&limit=1
projectName:工程名大写
projectName=TEST\&offset=0\&limit=1:在linux系统中& 会使进程系统后台运行
必须对&进行下转义才能$_GET获取到所有参数。我开始没有转义&,只获取到了第一个参数。
三、获取一个cube的详细信息
curl -b cookfile.txt \-H "Content-Type: application/json" \hostname:7070/kylin/api/cubes/cubeName
四、获取一个model的信息
curl -b cookfile.txt \-H "Content-Type: application/json" \hostname:7070/kylin/api/model/modelName
五、更新cube,增量更新cube
curl -b cookfile.txt \-X PUT -H "Content-Type: application/json" \-d '{"endTime":'1483977600000',"buildType":"BUILD"}' \http://hostname:7070/kylin/api/cubes/cubeName/rebuild
startTime : 做增量时,startTime 为上一次build的endTime。
endTime:时间精确到毫秒。
buildType:可选BUILD,MERGE,REDRESH
六、获取cube在build过程的状态
curl -b cookfile.txt \-X GET \http://hostname:7070/kylin/api/jobs/uuid
uuid:从cube提交build时返回的json格式数据中获得。
返回结果中job_status有FINISHED,ERROR,DISCARDED等状态。
七、当cube build过程中出错,重新执行
curl -b cookfile.txt \-X PUT -H "Content-Type: application/json" \http://hostname:7070/kylin/api/jobs/uuid/resume
uuid:从cube提交build时返回的json格式数据中获得。
八、通过RESTful API查询SQL
curl -b cookfile.txt \-X post \-H "Content-Type: application/json" \-d '{ "sql":"select part_dt,sum(price) as total_selled,count(distinct seller_id) as sellers from KYLIN_SALES group by part_dt", "offset":0, "limit":2, "acceptPartial":false, "project":"LEARN_KYLIN"}' http://hostname:7070/kylin/api/query
先写这些,以上查询返回结果均为json格式数据。
shell调度这些命令执行可以使用jq工具解析json数据。关于jq的使用不在本篇讨论范围,下面给一个例子,获取一个工程下所有cube列表。
array_cube=()cubeList=`curl -b cookfile.txt \-X GET \-H "Content-Type: application/json" \http://hostname:7070/kylin/api/cubes?projectName=${projectName}`cube=`echo ${cubeList} | jq -r '.'[0]'.name'`i=0while [ "$cube" != "null" ]; do status=`echo ${cubeList} | jq -r '.'[${i}]'.status'` if [ "$status" = "READY" ]; then array_cube[ ${i} ]=${cube} fi let i++ cube=`echo ${cubeList}|jq -r '.'[${i}]'.name'`done#echo ${array_cube[@]}
有错误的地方或者有什么问题留言大家一起讨论。
- Kylin 使用RESTful API进行cube的增量更新
- Kylin的RESTful API使用
- kylin使用Restful API 创建cube和model
- 微软cube的增量更新处理
- Kylin Java RESTful API
- Kylin的cube模型
- Kylin增量cube build的restAPI的时间不准确的BUG
- 5-Kylin Java Restful API
- 使用友盟进行app的增量更新
- Cube和Kylin创建Cube的过程
- Kylin Cube 的权限管理
- Apache Kylin的Cube分析
- Kylin 1.6.0进行Streaming Cube构建时的问题总结
- 关于Kylin中cube的构建
- Kylin 安装以及spark cube 的创建
- kylin restful使用验证失败解决
- Android-App增量更新的使用姿势
- Android App 增量更新的使用姿势
- 算法提高 开灯游戏
- log4j.properties 详解与配置步骤
- kafka-python批量发送数据的方法
- MySQL存全角字符和半角字符的区别
- Android的IPC机制—— Messenger的使用及源码分析
- Kylin 使用RESTful API进行cube的增量更新
- 20170116C++阶段班04_STL_02vector
- python进阶一----函数的参数
- zuul1.3.0不兼容java7问题
- Spring 配置datasource 三种方式
- 配置一个生产的iptables防火墙规则
- 巧用“搜索”解决自学编程遇到的难题
- Android 自制轮播插件:AutoPlayViewpager
- mysql优化