从给丈母娘榨果汁带你认识Apache Kylin(文末赠书)

news/2024/11/28 0:36:13/

一、开篇

二、Apache Kylin是什么?

三、为什么要使用Apache Kylin?

四、Apache Kylin的架构

五、Kylin使用案例

六、Kylin + AI展望

七、总结

一、开篇

我这个人有个习惯,每天早上起床刷牙之后要先喝一杯果汁。我只喜欢吃3种水果:苹果、梨、香蕉,所以我每天早上都在纠结是苹果+梨,还是梨+香蕉,还是苹果+梨+香蕉等等。

刚开始只有我一个人还好,早上早起几分钟榨一下挺方便。后面我女朋友也要喝,我就再早起一点,水果多了,榨的时间也变长。后面我岳父岳母也要喝,但我已经不想再早起,于是又买了台榨汁机。

到后面,我爸我妈也要喝。。我不想早起的同时也不想买榨汁机了,因为我觉得后面家里谁要喝还得继续买,承受不起了。

于是我用前面两台普通榨汁机换购了一台多功能榨汁机,这个多功能机器厉害了,我只需要提前一天放好水果,然后定个时,这样它就会把所有水果的果汁榨出来,我们想喝什么再自己混合就行。

这样除非水果种类增加了,因为放水果的槽有限,花费的时间也需要增加。不然无论多少人喝,都是够喝的。虽然占的面积比较大,但能节省我时间和金钱,值得!

而Apache Kylin与这台多功能榨汁机有异曲同工之妙~

二、Apache Kylin是什么?

1.Apache Kylin是一个大数据分析框架,可以理解为进化版的Hive,同时也是OLAP on Hadoop的一个引擎,常被用于数仓解决方案。

2.中国第一个Apache顶级开源项目,比阿里的Apache Dubbo、RocketMQ都早。

3.同样的数据量,Mysql可能是小时级别,而Hive是分钟级,而Apache Kylin则是亚秒级

三、为什么要使用Apache Kylin?

1.从传统数据库(Mysql等)到 SQL on Hadoop(Hive、SparkSql)等,都会发现一个问题,查询时间随数据量的增大而增加。

2.查询数据量继续增大,而查询时间不变的话,就得水平拓展机器,让并行计算速率加快。但这样一方面增加了机器资源的经济成本,一方面又增加机器运维的人力成本。

3.Apache Kylin采用预计算方式,以空间换时间的方法,解决上述两个问题。让分析师把更多时间花在业务建模方面,而不是等待查询结果。

四、Apache Kylin的架构

640?wx_fmt=png

Apache Kylin权威指南(第二版)

1.首先看图的最左边,有Hadoop、Hive、Kafka等。这边是项目的数据源,可能存储在Hive、或者Mysql,又或者流式的Kafka。

2.将数据源配置好之后,由中间的计算引擎去拉,根据分析师建模配置好的维度,用户可以选择是用MapReduce或Spark进行计算,然后生成Cube。

3.将生成的Cube数据集存储到右边的HBase,等待被查询。

4.最上方的Rest api以及JDBC和ODBC就是查询入口,因为整个预计算以及Cube对用户是隐性的,所以用户只需要按照正常的查询操作就行,不用关心技术实现细节。

五、Kylin使用案例

情况: 双11当天有1亿条交易数据

需求: 查询双11当天店铺销售最高的商品

1.传统解决方案: 扫描所有记录,找到双11的销售记录,然后按商品聚合销售额,最后排序返回。 那么统计销售额就得统计1亿条数据,加入双11有5亿条,那么查询时间还得乘以5。

2.Kylin解决方案: 分析师提前根据两个维度[销售时间,商品]进行建模,计算SUM(销售商品金额)并进行存储。 这样Kylin就会帮我们把所有商品金额以及对应的时间提前统计出来,我们只需要最后排个序就可以。

也就是统计好之后,我们只需要针对双11当天的商品进行排序即可,假设有1000个商品,那么我们只需要排序1000条记录。

Kylin的预计算类似我们初中学的排列组合,所有组合数量 = 2的n次方,这个n就是维度数量。

举个例子: 假如有2种水果: 苹果、梨。
那么可以榨汁出现4种情况: 1.苹果 2.梨 3.苹果+梨 4.都不

640?wx_fmt=png
cube模样

六、Kylin + AI展望

假设Kylin + AI之后,会有这么一个场景。随着数据分析师建模次数的增加,AI能自动分析模型经常使用的几个维度,并能主动推荐给分析师。在分析师建完模,AI也能对该模型进行诊断:维度是否设置合理,优化范围等等。

这个功能或许已经实现,或者正在实现,又或者即将实现,具体可参考《Apache Kylin权威指南:第2版》

七、总结

1.我们可以把Kylin想象成开头讲的多功能榨汁机,随着喝果汁的人越来越多,需要的榨的果汁也越来越高(数据量越来越大),我不想早起了,也不想花钱买榨汁机。(对应为什么要使用Kylin)

2.把水果种类比作建模的维度,只有当维度增加的时候,Kylin的工作时间才会增加。我们通过定时榨汁机,用空间来换时间,这样我就不用早起了。

3.我们也不用管多功能榨汁机是怎么工作的,我们只需要关心我们想吃哪些水果即可。对应Cube生成技术,我们只关心最终查询结果。

4.当我们经常用榨汁机的时候,榨汁机会根据我们每天喝的果汁容量,来判断我们更喜欢哪种水果,放多少合适。这也是Kylin+AI的成果。

锋哥点评:Apache Kylin技术本身集成了多个大数据组件,也涵盖了很多数仓理念和主流技术,可以从学习Apache Kylin切入到各个大数据组件的学习,也可以由它切入数仓的学习。

点击上方连接即可购买
Apache Kylin 核心研发团队精心撰写,基于较新的Apache Kylin 2.5,从架构设计、各模块的使用、与第三方的整合、二次开发以及开源实践等各个方面讲解数仓霸主Apache Kylin,帮你释放大数据生产力。

粉丝福利
留言谈谈你对Apache Kylin的理解,留言走心的3名读者可获赠正版图书 ---《Apache Kylin权威指南(第2版)图书一本。

--end--

推荐阅读:

扫描下方二维码
添加好友,备注【交流群
拉你到学习路线和资源丰富的交流群
640?wx_fmt=png

http://www.ppmy.cn/news/141186.html

相关文章

你被京东“坑”了多少钱?

拼多多火了好长时间了,但是质量实在不敢恭维!所以我和身边的朋友一直都还是在京东和淘宝剁手!尤其电子产品,逛京东还是更多一些。京东的商品虽然价格没有优势,但品质依然还是值得信赖的! 上周,我…

js数值的扩展

数值的扩展 二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 0b111110111 503 // true 0o767 503 // true从 ES5 开始,在严格模式之中,…

springboot+vue+java在线考试系统 试题库组卷系统

这次开发的精品在线试题库系统有管理员,教师,学生三个角色。管理员功能有个人中心,专业管理,学生管理,教师管理,试卷管理,试题管理,考试管理。教师可以管理试题和试卷,查…

将扫描文件放至ftp服务器,复印机扫描至FTP详细设置步骤!

复印机是办公中的重要设备,是文档处理的中心,它集复印、打印、扫描为一体的多功能设备,为人们办公提供了方便快捷的办公方式。 复印、打印等日常操作是每个办公人员的必备技能,而扫描功能因不同型号的设备操作起来会有所不同&…

佳能4452。4410一体机开机提示打开主电源是怎么回事

我的已经解决,是主板上有小强引起的 佳能mf4412多功能一体机维修,刚收到打印机试了一下,好像没啥问题,复印打印都没问题。但客户反映该机器复印5张左右就会报打开主电源的故障,拆机排插连接线缆的同时,突然…

多媒体技术简答题和论述题

界面设计的基本原则: 1. 一致性;  2. 适应性; 3. 兼容性;   4. 指导性 ;    5. 结构性 超文本和超媒体体系结构主要由三个层次组成,它们分别是? ( ) (1)用…

计算机打印机无法扫描,佳能MF4752打印机无法扫描文件怎么办?

佳能MF4752安装完驱动后无法扫描,在打印机上面按右键选开始扫描,点预览出来的是空白。用开始——所有程序——Windows 传真扫描进行扫描时会自动退出,发现系统自带的扫描程序无法扫描后安装了佳能的扫描软件Canon MF ToolBox ,但在扫描的时候…

基于Sane成功解决路由器改OpenWrt打印扫描服务器的手机移动端(IOS、Android)扫描功能实现问题

1.前言 家里有一台HP打印扫描一体机HP DJ 2300 series PCL-3,不具备打印和扫描功能。之后买了一个TPlink的wr703n路由器,刷了OpenWrt系统,安装p910nd,通过9100端口的方式实现了无线打印(具体看我写的这篇:…