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

Kylin利用Restful API构建Cube

Kylin w3sun 3866浏览 0评论

身份认证

  • 目前 Kylin采用basic authentication认证方式;
  • 首次请求认证需要添加Authorization报头;
  • 或者可以通过POST http://localhost:7070/kylin/api/user/authentication执行特定请求;
  • 一旦通过身份验证,客户端就可以使用cookie发送后续请求任务。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
POST http://10.4.27.5:7070/kylin/api/user/authentication
Authorization:Basic QURNSU46S1lMSU4=
Content-Type: application/json;charset=UTF-8
POST http://10.4.27.5:7070/kylin/api/user/authentication Authorization:Basic QURNSU46S1lMSU4= Content-Type: application/json;charset=UTF-8
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的日期范围
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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"
}
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" }
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位时间戳(转换工具):

根据实际生产环境进行更改:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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"
}
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" }
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表示当前的工作状态

作业恢复

如果作业出现错误可以对其进行恢复:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume
#由于cube在构建的过程中没有出问题,本文暂时就不演示了
PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume #由于cube在构建的过程中没有出问题,本文暂时就不演示了
PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume 

#由于cube在构建的过程中没有出问题,本文暂时就不演示了

转载请注明:雪后西塘 » Kylin利用Restful API构建Cube

发表我的评论
取消评论

表情

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

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