Kylin之概述和环境搭建

一、Kylin定义

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

相关术语:

1)Data Warehouse(数据仓库):数据仓库是一个各种数据(包括历史数据和当前数据)的中心存储系统,是BI( business intelligence ,商业智能)的核心部件。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。

2)Business Intelligence(商业智能):商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。为了将数据转化为知识,需要利用数据仓库联机分析处理(OLAP)工具数据挖掘等技术。

3)OLAP(online analytical processing):一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。从各方面观察信息,也就是从不同的维度分析数据,因此OLAP也成为多维分析

OLAP Cube:MOLAP基于多维数据集,一个多维数据集称为一个OLAP Cube。(cuboid长方体,cube立方体

4)Star Schema(星型模型)、Fact Table(事实表) &  Dimension Table(维度表)

  

5)Dimension(维度) & Measure(度量)

二、Kylin架构

 

1)REST ServerREST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。另外可以通过Restful接口实现SQL查询。

2)查询引擎(Query Engine)当cube准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它组件进行交互,从而向用户返回对应的结果。 

3)路由器(Routing)在最初设计时曾考虑过将Kylin不能执行的查询引导去Hive中继续执行,但在实践后发现Hive与Kylin的速度差异过大,导致用户无法对查询的速度有一致的期望,很可能大多数查询几秒内就返回结果了,而有些查询则要等几分钟到几十分钟,因此体验非常糟糕。最后这个路由功能在发行版中默认关闭

4)元数据管理工具(Metadata)Kylin是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存在Kylin当中的所有元数据进行管理,其中包括最为重要的cube元数据。其它全部组件的正常运作都需以元数据管理工具为基础。 Kylin的元数据存储在hbase中。 

5)任务引擎(Cube Build Engine)这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。

三、Kylin特点

Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。

1)标准SQL接口Kylin是以标准的SQL作为对外服务的接口。

2)支持超大数据集Kylin对于大数据的支撑能力可能是目前所有技术中最为领先的。早在2015年eBay的生产环境中就能支持百亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例。

3)亚秒级响应Kylin拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量,提高了响应速度。

4)可伸缩性和高吞吐率:单节点Kylin可实现每秒70个查询,还可以搭建Kylin的集群。

5)BI工具集成(可视化)

  • Kylin可以与现有的BI工具集成,具体包括如下内容。
  • ODBC:与Tableau、Excel、PowerBI等工具集成
  • JDBC:与Saiku、BIRT等Java工具集成
  •  RestAPI:与JavaScript、Web网页集成
  •  Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。

四、Kylin环境搭建

4.1、安装地址

1)官网地址:http://kylin.apache.org/cn/

2)官方文档:http://kylin.apache.org/cn/docs/

3)下载地址:http://kylin.apache.org/cn/download/

4.2、安装部署

1)将apache-kylin-2.5.1-bin-hbase1x.tar.gz上传到Linux

2)解压apache-kylin-2.5.1-bin-hbase1x.tar.gz到/opt/huawei

[root@node03 huawei]# tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz

[root@node03 huawei]# mv apache-kylin-2.5.1-bin-hbase1x kylin-2.5.1

注意:需要在/etc/profile文件中配置HADOOP_HOME,HIVE_HOME,HBASE_HOME并source使其生效。

3)启动

启动Hive:[root@node03 ~]#  hive --service metastore 2>&1 >> /dev/null &

启动HBASE:[root@node03 ~]# start-hbase.sh

启动Kylin:[root@node03 ~]# ./bin/kylin.sh start

启动之后查看各个节点进程:

 

注意:启动Kylin之前要保证HDFS,YARN,ZK,HBASE相关进程是正常运行的。

http://node03:7070/kylin查看Web页面

用户名为:ADMIN,密码为:KYLIN(系统已填)

4)关闭

[root@node03 ~]# ./bin/kylin.sh stop

发布了430 篇原创文章 · 获赞 364 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/lixinkuan328/article/details/104230218