在Kylin中,normal维度和derived维度的区别

  1. normal维度
    • 定义:normal维度是常规的、独立的维度,它会直接参与预计算过程,数据会被存储在存储层(如HBase)。
    • 作用:由于数据存储在存储层,normal维度可以处理大量数据,并且支持各种聚合操作。然而,这也可能导致更多的资源占用和计算需求。
    • 限制:Kylin中的每个cube最多支持63个normal维度。过多的normal维度会导致大量的维度组合(cuboid),从而增加计算复杂性和资源消耗。
  2. derived维度(可推导的维度):
    • 定义:derived维度是通过维度表的主键和维度表快照(snapshot)推导出来的维度。它不会直接存储在存储层,而是在查询时从内存中通过主键映射找到必要的维度进行聚合。
    • 作用:derived维度可以减少存储层的数据量和计算复杂性,因为它们不需要在存储层进行预聚合。此外,它们允许通过单个主键快速检索多个相关维度的值,从而提高了查询效率。
    • 示例:例如,如果用户ID (userid) 是一个normal维度,那么可以根据这个userid推导出用户的名字、位置、性别等derived维度。
    • 注意事项:虽然derived维度可以提高查询效率,但它们仍然依赖于normal维度进行推导。因此,在使用derived维度时,需要确保相关的normal维度已经被正确地加载和配置。

总结

  • normal维度是常规的、独立的维度,它们直接参与预计算并存储在存储层,可以处理大量数据和各种聚合操作,但可能占用更多资源。
  • derived维度是通过主键和维度表快照推导出来的维度,它们不直接存储在存储层,而是在查询时从内存中推导,可以减少存储层的数据量和计算复杂性,并提高查询效率。
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值