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
标签:剪枝,层级,Kylin,必须,cuboid,number,联合,维度 来源: https://blog.csdn.net/shtdayu/article/details/122042283