写在前面: 博主是一名软件工程系大数据应用开发专业大二的学生,昵称来源于《爱丽丝梦游仙境》中的Alice和自己的昵称。作为一名互联网小白,
写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新
。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:http://alices.ibilibili.xyz/ , 博客主页:https://alice.blog.csdn.net/ 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为一天的生活就是一生的缩影
。 我希望在最美的年华,做最好的自己
!
在之前的博客中,博主已经为大家带来了Kylin的简单介绍,环境搭建以及简单入门使用。本篇博客,博主为大家带来的是关于Kylin工作原理的介绍!
Apache Kylin的工作原理本质上是 MOLAP(多维立方体分析)。
电商的销售数据,可以从时间的维度来观察,也可以细化从时间和地区的维度来观察。
统计时,可以把维度值相同的记录聚合在一起,然后应用聚合函数做累加、平均、去重计数等聚合计算。
例如:
时间(维度) | 销售额(度量) |
---|---|
2019 1Q | 1.7M |
2019 2Q | 2.1M |
2019 3Q | 1.6M |
2019 4Q | 1.8M |
时间(维度) | 地区(维度) |
---|---|
2019 1Q | 中国 |
2019 1Q | 北美 |
2019 2Q | 中国 |
2019 2Q | 北美 |
2019 3Q | 中国 |
2019 3Q | 北美 |
2019 4Q | 中国 |
2019 4Q | 北美 |
关于数据立方体Cube
为什么叫立方体?
Apache Kylin的工作原理是对数据模型做Cube预计算,并利用计算的结果加速查询。具体工作过程如下:
高效OLAP分析:
Apache Kylin系统可以分为在线查询和离线构建两部分。
在线查询模式主要处于上半部分,离线构建处于下半部分。
在线查询
离线构建
以下为Kylin技术架构的具体内容:
■ Kylin在设计时,刻意对查询用户屏蔽了Cube的概念
■ 分析师只需要理解简单的关系模型就可以使用Kylin,没有额外的学习门槛,传统的SQL应用也很容易迁移
■ 查询引擎解析SQL,生成基于关系表的逻辑执行计划,然后将其转译为基于Cube的物理执行计划,最后查询预计算生成的Cube并产生结果,整个过程不会访问原始数据源
本篇博客从多个角度为大家揭示了Kylin的工作原理。相信在看之前对Kylin的工作原理还一头雾水的朋友,看完一定能够恍然大悟?
如果以上过程中出现了任何的纰漏错误,烦请大佬们指正?
受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?