Apache Kylin Cube优化

Kylin 构建Cube时优化方法如下:

1. Hierarchy(层级) Dimensions优化

在Fact table(事实表)中的维度满足层级关系时定义这几个维度为Hierarchy。一些列具有层次关系的Dimension组成一个Hierarchy,比如年,月,日组成了一个Hierarchy。

查询时指定group by year  ;  group by year , month;  group by year, month,day;都可以查询,但是如果指定group by month,day就不可以了。

2.Derived(衍生) Columns优化

在某张Look up Table(维度表)中有多个维度,改维度表对应的一个或者多个列可以和维度表的主键是一对一的,那么可以将其设置为Derived Dimension。

在Kylin内部会将其用统一的主键来替换,以此来达到降低维度组合的数据。当仍然在一定程度上会降低查询效率。

3.Mandatory(固定) Columns优化

如果每次查询的group by中都会携带某维度,那么我们可以将这个dimension设置为Mandatory,可以将维度组合减少一半。

4.Aggregation Group(聚合组) 优化

将维度分组达到降低维度组合的手段。维度的设置主要是让不出现在同一个查询中的两个维度怒计算cuboid。其实相当于把一个cube的树结构划分成了多个不同的树。在不降低

查询性能的情况下减少cuboid的计算量。

5.Joint(联合维度) Dimensions 优化

如果两个或者更多的维度要么同时出现在查询中,要么同时不出现在查询中时,这几个维度可以设置成Joint(联合维度) Dimensions.

6.Cube定义中RowKey顺序:

Mandatory 维度,Where过滤条件中出现较多的维度,高基数维度,低基数维度

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值