大数据是动态变化的,互联网时代的数据增长规模,也使得大数据处理任务面临越来越复杂的需求。自然,从技术的角度来说,也就需要更多符合数据处理实际需求的框架。今天的大数据学习分享,我们就来讲讲多维分析引擎Kylin。
什么是Kylin?
Apache Kylin,同样也是Apache旗下的开源项目,从定义上来说,是一个多维联机分析处理引擎(OLAP),其核心是通过预计算的方式将用户定义的cube(多维数据立方体)存储在HDFS上供查询时直接使用,以存储空间换取计算时间,从而实现大数据量亚秒级响应。
Kylin的一大优势在于,提供丰富的API(ODBC接口,JDBC接口,Rest API),与BI工具集成,可以解决绝大部分企业的报表需求。
Kylin架构设计
根据Apache官方给出的Kylin架构图,Kylin的架构可以大致分为五层——
REST Server层:
用户程序访问Kylin的入口。实现用户通过程序对Kylin进行访问,可实现Cube的创建、查询、获取元数据及权限配置等操作。
Query Engine层:
用户在预计算生成Cube后,查询层可以快速响应用户的查询动作,并将结果返回给用户。
Routing层:
这一层设计之初是为了在查询未预计算Cube的数据时可以转而直接查询Hive,但由于Cube查询仅几秒的时间就可以返回数据,而查询Hive表通常需要十几秒秒甚至几分钟到几十分钟,导致用户体验会变的极差。因此在后来Kylin默认配置关闭了此项功能。
Metadata层:
Metadata层主要是Kylin的一些元数据,比如最重要的Cube信息等。
Cube Build Engine层:
Cube构建层主要负责数据的预计算并生成Cube,包括MR任务及其他Java API等。
Kylin可以说是Hadoop生态当中的一个重要组件,它可以从Hive表、Kafka流式数据或者其他关系型数据库中获得来源数据,然后通过构建引擎,将预计算生成的Cube数据存到Hbase中,以供快速的查询响应。
关于大数据学习,多维分析引擎Kylin,以上就为大家做了一个简单的介绍了。Apache Kylin在OLAP分析引擎领域,越来越得到重用,也是非常值得学习掌握的一个框架。成都加米谷大数据,专业
大数据培训机构,大数据开发,数据分析与挖掘,课程大纲及试学视频,可联系客服领取!