Apache Kylin : Analytical Data Warehouse for Big Data
Welcome to Kylin Wiki.
http://host:port/kylin/api/Cubes/
step1、根据维度计算想要 增加/删除 的 cuboid id
Cuboid Id 是根据 Dimension 在 RowKey 中所在的顺序确定的,比如对于以下 Rowkey column:
其对应的 base cuboid id 的二进制值就是每一个 rowkey column 对应位置都是1,即 111111111111111111,十进制的 cuboid id 就是 262143。
当希望构建 dimension 为 PATT_DT 和 BUYER_ID 的 cuboid 时,那么 rowkey column 中 PATT_DT 和 BUYER_ID 对应的位置为 1, 其他位置为 0,二进制为 100100000000000000,十进制的 cuboid id 为 147456。
step2、调用 REST API 传入想要增加/删除的 cuboid id
REST API:PUT http://host:port/kylin/api/Cubes/{CubeName}/optimize2 Request Body: { "cuboidsAdd":["addId1","addId2"], "cuboidsDelete":["deleteId1","deleteId2"] }
通过 REST API 传入想要增加/删除的 cuboid id,经过校验,kylin 4.0 会生成相应的 recomment cuboid list, 生成 optimize segment job 和 checkpoint job,如下图:
由于示例中的 cube 有两个已经构建的 segment,所以生成了两个 OPTIMIZE CUBE JOB 和 一个 OPTIMIZE CHECKPOINT JOB。
OPTIMIZE CUBE JOB:
OPTIMIZE CHECKPOINT JOB: