主页 > 新闻资讯 > 大数据学习:OLAP分析引擎Apache Kylin技术架构

大数据学习:OLAP分析引擎Apache Kylin技术架构

作者:张老师 浏览次数: 2021-01-20 17:08
上面一篇我们对于OLAP分析引擎Apache Kylin作为简单的入门介绍,对于Apache Kylin的历史由来,一些基本的核心概念都有了一定的认识。今天的大数据学习分享,我们来更进一步,讲讲Apache Kylin的技术架构。

大数据学习:OLAP分析引擎Apache Kylin入门

Apache Kylin技术架构

Apache Kylin系统主要可以分为在线查询和离线构建两部分,架构图如下:

大数据学习:OLAP分析引擎Apache Kylin入门

首先来看离线构建部分。左侧为数据源,通常Kylin默认的数据源是Apache Hive,保存着待分析的用户数据。根据元数据的定义,构建引擎从数据源抽取数据,并构建Cube。数据以关系表的形式输入,并且必须符合星形模型。构建后的Cube保存在右侧存储引擎中,通常Kylin默认的存储为Apache HBase。

完成离线构建后,用户可以从上方的查询系统发送SQL进行查询分析。Kylin提供了RESTful API、JDBC/ODBC接口供用户调用。无论从哪个接口进入,SQL最终都会来到REST服务层,再转交给查询引擎进行处理。

查询引擎解析SQL,生成基于关系表的逻辑执行计划,然后将其转译为基于Cube的物理执行计划,最后查询预计算生成的Cube并产生结果。整个过程不会访问原始数据源。如果用户提交的查询语句未在Kylin中预先定义,Kylin会返回一个错误。

值得一提的是,Kylin对数据源、执行引擎和Cube存储三个核心模块提取出了抽象层,这意味着这三个模块可以被任意地扩展和替换。比如可以使用Spark替代MapReduce作为Cube的构建引擎,使用Cassandra替代HBase作为Cube计算后数据的存储等。

Apache Kylin架构带来的优势:

①SQL接口

Kylin主要的对外接口就是以SQL的形式提供的。SQL简单易用的特性极大地降低了Kylin的学习成本,不论是数据分析师还是Web开发程序员都能从中收益。

②支持海量数据集

不论是Hive、SparkSQL,还是Impala、Presto,都改变不了这样一个事实:查询时间随着数据量的增长而线性增长。而Apache Kylin使用预计算技术打破了这一点。Kylin在数据集规模上的局限性主要取决于维度的个数和基数,而不是数据集的大小,所以Kylin能更好地支持海量数据集的查询。

③亚秒级响应

同样受益于预计算技术,Kylin的查询速度非常快,因为复杂的连接、聚合等操作都在Cube的构建过程中已经完成了。

④水平扩展

Apache Kylin同样可以使用集群部署方式进行水平扩展。但部署多个节点只能提高Kylin处理查询的能力,而不能提升它的预计算能力。

⑤可视化集成

Apache Kylin提供了ODBC/JDBC接口和RESTful API,可以很方便地与Tableau等数据可视化工具集成。数据团队也可以在开放的API上进行二次开发。

关于大数据学习,OLAP分析引擎Apache Kylin技术架构,以上就为大家做了粗浅的介绍了。Kylin发展到今天,百度、京东等国内大厂也在使用,在市场上的表现也值得肯定,该学当学。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析挖掘,本月新班即将开课,课程大纲及试学视频可联系客服获取!
热点排行
推荐文章
立即申请>>