Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
Kylin依赖环境
安装Kylin前需先部署好Hadoop、Hive、Zookeeper、HBase,并且需要在/etc/profile中配置以下环境变量HADOOP_HOME,HIVE_HOME,HBASE_HOME,记得source使其生效。
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
Kylin启动
(1)启动Kylin之前,需先启动Hadoop(hdfs,yarn,jobhistoryserver)、Zookeeper、Hbase
(2)启动Kylin
bin/kylin.sh start
(3)在http://hadoop101:7070/kylin查看Web页面
用户名为:ADMIN,密码为:KYLIN
(4)关闭Kylin
bin/kylin.sh stop
使用进阶
1)每日全量维度表及拉链维度表重复Key问题如何处理
方案一:
在hive中创建维度表的临时表,该临时表中只存放维度表最新的一份完整的数据,在kylin中创建模型时选择该临时表作为维度表。
方案二:
与方案一思路相同,但不使用物理临时表,而选用视图(view)实现相同的功能。
此处采用方案二:
(1)创建维度表视图
–拉链维度表视图(正常创建即可)
create view dwd_dim_user_info_his_view as
select * from dwd_dim_user_info_his where end_date=‘9999-99-99’;
–全量维度表视图(生产环境下的代码)
create view dwd_dim_sku_info_view as
select * from dwd_dim_sku_info where dt=date_add(current_date,-1);
–当前情形我们先创建一个2020-06-25的视图(离线单独情形使用)
create view dwd_dim_sku_info_view as
select * from dwd_dim_sku_info where dt=‘2020-06-25’;
current_date 显示当前日期 select current_date;