目录
身份认证
- 目前 Kylin采用basic authentication认证方式;
- 首次请求认证需要添加Authorization报头;
- 或者可以通过POST http://localhost:7070/kylin/api/user/authentication执行特定请求;
- 一旦通过身份验证,客户端就可以使用cookie发送后续请求任务。
POST http://10.4.27.5:7070/kylin/api/user/authentication Authorization:Basic QURNSU46S1lMSU4= Content-Type: application/json;charset=UTF-8
其中QURNSU46S1lMSU4=是<用户名:密码>base64加密以后的字符串,可以通过http://tool.oschina.net/encrypt?type=3进行测试:
通过PostMan提交认证请求,通过后显示如下:
获取Cube详情
- GET http://localhost:7070/kylin/api/cubes?cubeName={cube_name}&limit=15&offset=0
- 客户端可以在返回的Cube详细数据中找到Cube Segment的日期范围
http://10.4.27.5:7070/kylin/api/cubes?cubeName=kylin_sales_cube&limit=15&offset=0 Authorization:Basic QURNSU46S1lMSU4= Content-Type: application/json;charset=UTF-8
提交Cube构建作业
- PUT http://localhost:7070/kylin/api/cubes/{cube_name}/rebuild
- 对于put请求body的详细设置,请参考Build Cube API
- startTime和endTime应该是UTC时间戳
- buildType可以是BUILD,MERGE或REFRESH。其中 BUILD是建立一个新的segment,刷新指的是对现有segment进行刷新操作, MERGE用于将多个现有segment合并成一个更大的segment
- 该方法将返回一个新创建的作业实例,其uuid是跟踪作业状态的唯一ID
PUT http://localhost:7070/kylin/api/cubes/test_kylin_cube_with_slr/rebuild Authorization:Basic xxxxJD124xxxGFxxxSDF Content-Type: application/json;charset=UTF-8 { "startTime": 0, "endTime": 1388563200000, "buildType": "BUILD" }
选择endTime时间(>startTime),并转换为13位时间戳(转换工具):
根据实际生产环境进行更改:
put http://10.4.27.5:7070/kylin/api/cubes/kylin_sales_cube/rebuild Authorization:Basic xxxxJD124xxxGFxxxSDF Content-Type: application/json;charset=UTF-8 { "startTime": 0, "endTime": 1515600006000, "buildType": "BUILD" }
跟踪作业状态
- GET http://localhost:7070/kylin/api/jobs/{job_uuid}
- 返回job_status表示当前的工作状态
作业恢复
如果作业出现错误可以对其进行恢复:
PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume #由于cube在构建的过程中没有出问题,本文暂时就不演示了
转载请注明:雪后西塘 » Kylin利用Restful API构建Cube