最新消息:天气越来越冷,记得加一件厚衣裳

Kylin利用Restful API构建Cube

Kylin w3sun 3292浏览 0评论

身份认证

  • 目前 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

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址