主页 > 新闻资讯 > 大数据学习:Apache Kylin基础入门讲解

大数据学习:Apache Kylin基础入门讲解

作者:张老师 浏览次数: 2021-07-22 17:17
Apache Kylin作为支持大数据分析的一款重要框架,在现有的大数据生态体系当中,还是占有相应的地位的。在学习阶段,对于Apache Kylin也可以做一些相应地学习和掌握。今天的大数据学习分享,我们来讲讲Apache Kylin基础入门。

大数据学习:Apache Kylin基础入门讲解

Apache Kylin的使命是实现超高速的大数据OLAP分析,也就是要让大数据分析像使用数据库一样简单迅速,用户的查询请求可以在秒级返回,交互式数据分析以前所未有的速度释放大数据里潜藏的知识和信息,以使我们在面对未来的挑战时占得先机。

Apache Kylin工作原理

Apache Kylin工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多维立方体分析。

①关于维度和度量

在说明MOLAP Cube之前,需要先介绍一下维度(dimension)和度量(measure)这两个概念。

维度就是观察数据的角度,比如电商的销售数据,可以从时间的维度来观察(如图1的左图所示),也可以进一步细化从时间和地区的维度来观察(如图1的右图所示)。维度一般是一组离散的值,比如时间维度上的每一个独立的日期,或者商品维度上的每一件独立的商品。因此,统计时可以把维度值相同的记录聚合起来,应用聚合函数做累加、平均、去重复计数等聚合计算。

图1维度和度量

大数据学习:Apache Kylin基础入门讲解

度量就是被聚合的统计值,也是聚合运算的结果,它一般是连续值,如图1中的销售额,抑或是销售商品的总件数。通过比较和测算度量,分析师可以对数据进行评估,比如今年的销售额相比去年有多大的增长、增长的速度是否达到预期、不同商品类别的增长比例是否合理等。

②Cube和Cuboid

了解了维度和度量,就可以对数据表或者数据模型上的所有字段进行分类了,它们要么是维度,要么是度量(可以被聚合)。于是就有了根据维度、度量做预计算的Cube理论。

给定一个数据模型,我们可以对其上所有维度进行组合。对于N个维度来说,所有组合的可能性有2N种。对每一种维度的组合,将度量做聚合运算,运算的结果保存为一个物化视图,称为Cuboid。将所有维度组合的Cuboid作为一个整体,被称为Cube。所以简单来说,一个Cube就是许多按维度聚合的物化视图的集合。

计算Cuboid,就是按维度来聚合销售额(GMV)。如果用SQL来表达计算Cuboid[Time,Location],那就是:

select Time,Location,Sum(GMV)as GMV from Sales group by Time,Location

图2四维Cube

大数据学习:Apache Kylin基础入门讲解

将计算的结果保存为物化视图,所有Cuboid物化视图的总称就是Cube了。

③Apache Kylin工作原理

Apache Kylin的工作原理就是对数据模型做Cube预计算,并利用计算的结果加速查询。过程如下:

1.指定数据模型,定义维度和度量。

2.预计算Cube,计算所有Cuboid并将其保存为物化视图。

3.执行查询时,读取Cuboid,进行加工运算产生查询结果。

由于Kylin的查询过程不会扫描原始记录,而是通过预计算预先完成表的关联、聚合等复杂运算,并利用预计算的结果来执行查询,因此其速度相比非预计算的查询技术一般要快一个到两个数量级。并且在超大数据集上其优势更明显。当数据集达到千亿乃至万亿级别时,Kylin的速度甚至可以超越其他非预计算技术1000倍以上。

关于大数据学习,Apache Kylin基础入门,以上就为大家做了基本的介绍了。Kylin在大规模数据分析上,还是有其优势所在的,学习阶段可以花些心思去学一学。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>