Apache Kylin 剪枝优化和cuboid数量计算公式总结

kylin 聚合组优化
--------1.简单情况--------------

1.强制优化
分步乘法,n个元素取m,结果m x n
2^(N-X)

2.层级优化
将N个维度中X个维度设置为层级维度,则cuboid个数减少到 (X+1)*2^(N-X)

3.联合维度(Joint Dimension)
2 ^ (n-x + 1)
:从4个里面有三个
2 ^(4-3 + 1)=4

--------2.最优剪枝--------------
解释:所有维度都能被剪枝
1.必须维度+层级维度(层级数量+1)
如包含A、B、C 三个维度
必须维度:A  ,M=1
层级维度:B、C (H=(X+1)*2(N-x)-1=2)

number = M + H= 3

2.必须维度+联合维度
包含维度:A,B,C,D
必须维度:A ,M=1
联合维度:BCD  J=1

M为必须维度数量=1,J联合维度数量可以为多个
number= 2^(M + J -1 ) = 2^(1 + 1 -1) =2

3.1层级维度+联合维度-1(1个层级维度+1个联合维度)
包含维度:A,B,C,D,E
层级维度:A,B,E
联合维度:C,E

n为层级维度数量3
number=2n+1 =2*3 +1 =7


4.必须维度+层级维度+联合维度
包含A、B、C、D、E
必须维度:A
层级维度:B、C

上一篇:寒假记录5


下一篇:【离线电商数仓】Day04-即席查询(Ad Hoc):Presto链接不同数据源查询、Druid建多维表、Kylin使用cube快速查询