Kylin的Cube构建聚合组

1. 聚合组概念

我们构建的cube选择了几个维度字段,会产生很多个cubiod,但是有的cuboid其实我们并不需要。所以就有了聚合组,聚合组定义了三种裁剪规则,可以在cube构建的时候对不需要的cuboid不进行构建,这样就可以加速cube的构建

2. 三种聚合组定义方式

2.1 强制维度(Mandatory)

如果一个维度被定义为强制维度,那么产生的cuboid必须包含该维度(强制维度自己也不能单独形成cuboid)

例如有A、B、C三个维度,不使用强制维度和使用A字段作为强制维度,产生的cuboid如下:

强制维度

2.2 层级维度(Hierarchy)

如果将维度A定义为维度B的上级。则出现维度B,必须出现维度A;如果出现维度B,但没有出现A,则不进行该cuboid构建

例如年字段是月字段的上级,则出现月字段,必须出现年字段,因为单独出现月字段没有意义

假设有A、B和C三个维度,不使用层级维度和定义A字段为B字段的上级的层级维度,产生的cuboid如下:

层级维度

2.3 联合维度(Joint)

定义了维度A和维度B为联合维度,则这两个维度要么一起出现,要么都不出现

假设有A、B和C三个维度,不使用联合维度,和定义A字段与B字段为联合维度,产生的cuboid如下:

联合维度

3. 聚合组的使用

在Cube Designer的Advanced Setting中的Aggregation Groups区域,进行聚合组的定义

使用示例如下:

聚合组的使用

可以定义多个聚合组,最终的cuboid的个数是多个聚合组产生的cuboid的并集。比如聚合组A产生3个cuboid,聚合组B产生2个cuboid,它们有1个重叠的,则最终产生4个cuboid

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值