电商数仓kylin

1 Kylin简介

1.1 Kylin 定义

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

1.2 Kylin架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fj4UxqkL-1651898409890)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504135522658.png)]

1)REST Server

REST 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当中的全部任务加以管理与协调,从而确

保每一项任务都能得到切实执行并解决其间出现的故障。

1.3 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服务。

2 Kylin安装

2.1 Kylin依赖环境

安装Kylin前需先部署好Hadoop、Hive、Zookeeper、HBase,并且需要在/etc/profile中配置以下环境变量HADOOP_HOME,HIVE_HOME,HBASE_HOME,记

得source使其生效。

2.2 Kylin搭建

1)上传Kylin安装包apache-kylin-3.0.2-bin.tar.gz

2)解压apache-kylin-3.0.2-bin.tar.gz到/opt/module

tar -zxvf apache-kylin-3.0.2-bin.tar.gz -C /opt/module/
mv /opt/module/apache-kylin-3.0.2-bin /opt/module/kylin

2.3 Kylin兼容性问题

修改/opt/module/kylin/bin/find-spark-dependency.sh,排除冲突的jar包

需要增加的内容:

! -name '*jackson*' ! -name '*metastore*'

注意前后保留空格

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPo9Frf4-1651898409891)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504154618340.png)]

2.4 Kylin启动

(1)启动Kylin之前,需先启动Hadoop(hdfs,yarn,jobhistoryserver)、Zookeeper、Hbase

(2)启动Kylin

bin/kylin.sh start

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

在http://h102:7070/kylin查看Web页面

用户名为:ADMIN,密码为:KYLIN

3)关闭Kylin

bin/kylin.sh stop

3 Kylin使用

以gmall数据仓库中的dwd_order_detail作为事实表,dim_user_info、dim_sku_info、dim_base_province作为维度表,构建星型模型,并演示如何使用Kylin进

行OLAP分析。

3.1 创建工程

1)点击下图中的"+"。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LlfJBh33-1651898409891)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504161504601.png)]

2)填写项目名称和描述信息,并点击Submit按钮提交。

3.2 获取数据源

1)点击DataSource

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jP4FVlIS-1651898409891)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504161710922.png)]

2)选择要导入的表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5nSBYuE-1651898409892)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504162006966.png)]

选择一下几张表

dwd_order_detail
dim_sku_info
dim_user_info
dim_base_province

3)点击Sync按钮

查看同步结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GHftSPQh-1651898409892)(C:\Users\11244\AppData\Roaming\Typora\typora-user-images\image-20220504162122182.png)]

注意事项:

Kylin不能处理Hive表中的复杂数据类型(Array,Map,Struct),即便复杂类型的字段并未参与到计算之中。故在加载Hive数据源时,不能直接加载带有复杂数据类

型字段的表。而在dim_sku_info表中存在两个复杂数据类型的字段(平台属性

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值