微信号:ApacheKylin

介绍:Apache Kylin 公众号,介绍Kylin的各种功能,特性以及相关的新闻,活动等.更多信息,请访问Kylin网站:http://kylin.io 相关技术问题,请订阅Apache Kylin邮件列表

【技术帖】如何在CDH中部署及使用Apache Kylin

2018-05-07 17:45 陈高英

本文转载自:Hadoop实操,作者陈高英。


陈高英

银兴科技大数据工程师,目前主要负责Hadoop大数据平台的集群规划、咨询和实施工作,参与过多家行业知名客户的大数据平台规划设计与实施工作。



温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



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



具体功能如下:


1.可扩展超快OLAP引擎: 

- Kylin是为减少在Hadoop/Spark上百亿规模数据查询延迟而设计


2.Hadoop ANSI SQL 接口: 

- Kylin为Hadoop提供标准SQL支持大部分查询功能


3.交互式查询能力: 

- 通过Kylin,用户可以与Hadoop数据进行亚秒级交互,在同样的数据集上提供比Hive更好的性能


4.多维立方体(MOLAP Cube):

- 用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体


5.与BI工具无缝整合:

- Kylin提供与BI工具的整合能力,如Tableau,PowerBI/Excel,MSTR,QlikSense,Hue和SuperSet


6.其他特性: 

- Job管理与监控 

- 压缩与编码 

- 增量更新 

- 利用HBase Coprocessor

- 基于HyperLogLog的Dinstinc Count近似算法 

- 友好的web界面以管理,监控和使用立方体 

- 项目及表级别的访问控制安全

- 支持LDAP、SSO


以上内容来自Kylin的Apache社区官网,具体参考:http://kylin.apache.org/cn/,本文主要描述如何在CDH集群中部署及使用Apache Kylin。


  • 内容概述

1.下载Kylin

2.部署Kylin

3.Demo1

4.Demo2


  • 测试环境

1.RedHat7.4

2.CM/CDH5.13.3

3.Apache Kylin2.1.0

4.集群未启用Kerberos


  • 前置条件

1.CDH集群正常运行

2.Hive,HBase服务运行正常

3.安装Kylin服务的节点已经部署Hive Gateway


2.下载Apache Kylin



社区版Kylin下载地址:https://archive.apache.org/dist/kylin/ ,本次测试使用apache-kylin-2.1.0



3.部署Apache Kylin



这里测试只部署了一个节点,实际生产可以部署多个节点,Kylin是无状态的,前端做负载均衡。


1.上传Kylin包至服务器


2.解压至/usr/local目录,并建软链接


[root@hadoop3 ~]# tar -zxvf apache-kylin-2.1.0-bin-cdh57.tar.gz -C /usr/local/
[root@hadoop3 ~]# cd /usr/local/
[root@hadoop3 local]# ln -s apache-kylin-2.1.0-bin-cdh57/ kylin

(可左右滑动)



3.Kylin环境配置

主要配置Kylin的home目录及java环境变量,配置如下:

[root@hadoop3 kylin]# vim ~/.bashrc 
export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
export KYLIN_HOME=/usr/local/kylin
export PATH=$JAVA_HOME/bin:$PATH
[root@hadoop3 kylin]# source ~/.bashrc

(可左右滑动)



4.执行bin/check-env.sh检查Kylin运行环境



5.启动Kylin服务,执行bin/kylin.sh start命令



6.访问Kylin的web UI,这里的地址是http://192.168.0.198:7070/kylin,默认账号密码为:ADMIN/KYLIN




4.Demo1:Apache Kylin自带



1.Kylin本身自带了一个测试例子,创建流程如下:

执行sample.sh脚本,这个主要是创建Kylin的project、model、cube以及相关的hive表等。



查看Hive default库中的表,多了五张表



2.进入Kylin Web界面reload metadata



3.查看导入模型



4.构建Cube



5.选择数据分区范围



6.点击monitor,查看正在构建Cube的作业



这一步会比较耗时,因为这步会进行预计算,默认是MapReduce作业。


7.查询构建完成的Cube

先运行简单的Count,可以看到耗时2.14s,再次执行基本在豪秒级,因为Kylin支持缓存功能


select count(*) from KYLIN_SALES

(可左右滑动)



执行多表关联查询


select sum(KYLIN_SALES.PRICE) 
as price_sum,KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
from KYLIN_SALES inner join KYLIN_CATEGORY_GROUPINGS
on KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID and
KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID
group by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
order by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME asc,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME desc

(可左右滑动)



耗时1.89s,查询支持多种展示方式,如:Line chart、bar chart、pie chart,可以点击Visualization查看可视化展示方式,并且可以选择不同的维度和度量字段。


5.Demo2



1.数据准备



下载地址:

https://github.com/fayson/cdhproject/tree/master/kylindemo


2.执行建表语句,执行以下命令


hdfs dfs -put employee.csv /tmp/data/kylin/
hdfs dfs -put employee.csv /tmp/data/kylin/
beeline -u "jdbc:hive2://hadoop2.macro.com:10000/default" -n hive -f create_table.sql

(可左右滑动)



3.创建project



4.加载Hive表



5.创建model,导入project的名称和描述:



6.选择事实表,并点击add Lookup Table查询表



7.选择维度字段



8.选择度量字段:



9.如果有分区选择分区表和列



10.model创建完成


11.创建Cube



12.选择model



13.选择维度,这里把model中设置的维度都勾选上



14.选择度量指标,可以添加,比如sum、Max等



15.默认,下一步



16.默认,下一步



17.Cube创建完成



18.构建Cube



19.查看构建Cube的job,进入monitor



20.查询

先执行简单查询,

查询语句:


select count(*) from EMPLOYEE和select max(salary) from EMPLOYEE

(可左右滑动)



可以看到耗时分别在0.19s和0.11秒


21.统计各部门员工薪资总和,执行以下语句


select d.ID,sum(e.SALARY) as salary from EMPLOYEE as e left join DEPARTMENT as d on e.DEPTID=d.id group by d.ID order by salary desc

(可左右滑动)




提示:代码块部分可以左右滑动查看噢


温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


 "Apache and Apache Kylin are either registered trademarks or trademarks of The Apache Software Foundation in the US and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks."

您可能还会想看

论 Apache Kylin SQL 中数据类型的重要性

【文末福利】读书日 |  Apache Kylin 大牛的书单被我“薅”来了

DTCC2018 专访 | 大数据技术研发怎么玩?

【案例分享】Apache Kylin在链家的实践——链家数据分析引擎的演变史

2018年第一期 | Apache Kylin 管理员认证培训圆满结束

【Workshop 报名啦】零基础搭建云上大数据平台:Kyligence on AWS

Apache Kylin v2.3.0 正式发布

 
apachekylin 更多文章 论 Apache Kylin SQL 中数据类型的重要性 【文末福利】读书日 |  Apache Kylin 大牛的书单被我“薅”来了 DTCC2018 专访 | 大数据技术研发怎么玩? 【案例分享】Apache Kylin在链家的实践——链家数据分析引擎的演变史 2018年第一期 | Apache Kylin 管理员认证培训圆满结束
猜您喜欢 HTTPS 的两三事 多家存储企业提供针对Ceph的全闪存解决方案 聊聊JavaScript中的二进制数 5位京东一流技术专家亮相业界顶级技术峰会ArchSummit 2014 跟着Jason学UML(一) 类图