用API构建cube

1. 认证

  1. POST http://localhost:7070/kylin/api/user/authentication
  2. Authorization:Basic xxxxJD124xxxGFxxxSDF
  3. Content-Type: application/json;charset=UTF-8

2. 获取Cube的详细信息

  • GET http://localhost:7070/kylin/api/cubes?cubeName={cube_name}&limit=15&offset=0
  • 用户可以在返回的cube详细信息里找到cube的segment日期范围。
  1. GET http://localhost:7070/kylin/api/cubes?cubeName=test_kylin_cube_with_slr&limit=15&offset=0
  2. Authorization:Basic xxxxJD124xxxGFxxxSDF
  3. Content-Type: application/json;charset=UTF-8

3. 然后提交cube构建任务

  • PUT http://localhost:7070/kylin/api/cubes/{cube_name}/rebuild
  • 关于 put 的请求体细节请参考 Build Cube API
    • startTimeendTime 应该是utc时间。
    • buildType 可以是 BUILDMERGEREFRESHBUILD 用于构建一个新的segment, REFRESH 用于刷新一个已有的segment, MERGE 用于合并多个已有的segment生成一个较大的segment。
  • 这个方法会返回一个新建的任务实例,它的uuid是任务的唯一id,用于追踪任务状态。
  1. PUT http://localhost:7070/kylin/api/cubes/test_kylin_cube_with_slr/rebuild
  2. Authorization:Basic xxxxJD124xxxGFxxxSDF
  3. Content-Type: application/json;charset=UTF-8
  4. {
  5. "startTime": 0,
  6. "endTime": 1388563200000,
  7. "buildType": "BUILD"
  8. }

4. 跟踪任务状态

  • GET http://localhost:7070/kylin/api/jobs/{job_uuid}
  • 返回的 job_status 代表job的当前状态。

5. 如果构建任务出现错误,可以重新开始它

  • PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume