Kylin中的基本概念解释

目录

 

1. 在kylin中常用的基本概念

1.1 基本概念

1.2 kylin特性

1.3 cube与计算原理分析

1.4 cuboid在hbase中的存储结构

1.5 实例说明

2. 参考链接


1. 在kylin中常用的基本概念

1.1 基本概念

kylin的工作原理:实质是MOLAP(Multidimensional Online Analytical Processing) Cube,即多维立方体分析。

概括的讲,kylin主要解决了以下两个问题:

  • cube预计算
  • sql查询转cube查询

其核心思想是预结算,即对多维分析中用到的度量进行预计算,计算好的结果保存成cube并存储到hbase,查询时直接使用预计算的结果。

  • 维度(Dimension):观察数据的角度,一般是一组(即表中的多个列为一组)离散的值;一组属性,提供结构化的标签信息,一般作为报表的坐标轴
  • 维度的基数(Cardinality),指一个维度(列)中不同值的个数,例如性别列(sex)的不同值有男、女,那么改性别维度的技术就是 2
  • 超高基列(Ultra High Cardinality, UHC),通常指技术超过100万的维度,常见的有 userId, timestamp, productionId等等,维度的基数可以通过hive的count distinct函数来查询获得
  • 度量:被聚合的统计值,就是聚合运算的结果,一般是连续的值。例如平均销售额avg(sales), 最大销售额max(sales),主要用来分析或评估,例如判断趋势、效果判断,例如UV和PV等。
  • 度量 (Measure):一类可以进行聚合分析的特殊维度,聚合后的结果称为指标
  • 事实表(Fact Table) :数据仓库中的中央表,用于描述业务内特定事件的数据。例如销售表

 

1.2 kylin特性

查询下压

1.3 cube与计算原理分析

参考链接

                                        cuboid计算原理分析图

 

1.4 cuboid在hbase中的存储结构

请参考这里,介绍的非常清楚

 

 

1.5 实例说明

cuboid和cube的实例说明,请参考这篇文章(讲解的比较详细)

                        cuboid和cube立方体示意图

 

下面文字摘自上述链接:

上图展示了有3个维度的cube,每个小立方体代表一个cuboid,其中存储的是度量列聚合后的结果,比如苹果在中国2010年的销量就是一个cuboid。

当数据量比较少时,可以直接使用RDBMS执行sql,在较短时间内得到结果,但对于大数据量,比如5000万条,RDBMS的性能就满足不了要求了,需要使用别的查询方案,如MPP,Hive。而kylin给我们提供了另外一个思路——预计算,即空间换时间,列出用户所有可能的查询sql,提前处理得到查询结果,并持久化到数据库中,在实际查询时,可复用之前计算的结果,速度可以达到毫秒级别。当然,用户的查询sql是多种多样,无法穷尽的,因此kylin假设用户查询局限于针对不同的维度组合,得到有限个指标的聚合结果。在实际生产中,这个假设符合一般的用户使用场景,所以,kylin仅遍历所有可能的维度组合,求得对应的cuboid,最终作为一个cube供用户查询。

 

1.6 cube构建步骤

以hive和mapreduce为例:

根据star图,调用Hive,创建一张宽表。
对宽表中的维度列去除,并存到hdfs中
为去重后的维度列建词典
读取宽表数据,计算base cuboid
基于base cuboid,计算次级 cuboid
将cuboid批量导入hbase中

1.7 cube优化

还是参考这篇文章(。。。)

两个优化思路

  • 提出聚合组的概念,去除不必要的维度组合,加速cube构建
  • 宽表数据重新分配,避免数据倾斜

1.8 sql查询转cube查询

参考这里https://www.jianshu.com/p/22f716d9c528

 

 


 

2. 参考链接

https://blog.lovedata.net/f5dccb04.html

https://blog.csdn.net/weixin_42312342/article/details/93224849

https://www.jianshu.com/p/22f716d9c528

https://www.jianshu.com/p/22f716d9c528?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值