大数据统计分析 Apache Kylin的部署
沉沙 2018-09-30 来源 : 阅读 1843 评论 0

摘要:本篇教程介绍了大数据统计分析 Apache Kylin的部署,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据分析的理解更加深入。

本篇教程介绍了大数据统计分析 Apache Kylin的部署,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据分析的理解更加深入。

<

前言

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


Kylin的理论基础:空间换时间。

Kylin从数据仓库中最常用的Hive中读取源数据,使用 MapReduce作为Cube构建的引擎,并把预计算结果保存在HBase中,对外暴露Rest API/JDBC/ODBC的查询接口。




部署Kylin

(一)下载安装

写这篇博客时,最新版为2.0.0 beta版,最新的正式版为1.6.0,所以我使用的1.6.0。

可以直接下载源码包编译安装,也可以根据自己的hadoop环境版本下载对应的二进制安装包。



我使用的是HDP2.4.2,Hbase版本是1.1.2。直接下载的是二进制包安装。


$ cd /opt
$ wget //ftp.tc.edu.tw/pub/Apache/kylin/apache-kylin-1.6.0/apache-kylin-1.6.0-hbase1.x-bin.tar.gz
$ tar xf apache-kylin-1.6.0-hbase1.x-bin.tar.gz
$ vim /etc/profile
export KYLIN_HOME=/opt/apache-kylin-1.6.0-hbase1.x-bin
$ source /etc/profile



(二)环境检查

$cd /opt/apache-kylin-1.6.0-hbase1.x-bin
$./bin/check-env.sh
KYLIN_HOME is set to /opt/apache-kylin-1.6.0-hbase1.x-binmkdir: Permission denied: user=root, access=WRITE, inode="/kylin":hdfs:hdfs:drwxr-xr-xfailed to create /kylin, Please make sure the user has right to access /kylin

#提示使用hdfs用户
#check-env.sh脚本执行的是检查本地hive,hbase,hadoop等环境情况。
#并会在hdfs中创建一个kylin的工作目录。

$ su hdfs
$ ./bin/check-env.sh 
KYLIN_HOME is set to /opt/apache-kylin-1.6.0-hbase1.x-bin
$ hadoop fs -ls /   #多了一个/kylin的目录drwxr-xr-x   - hdfs   hdfs            0 2017-01-19 10:08 /kylin



(三)启动

$ chown hdfs.hadoop /opt/apache-kylin-1.6.0-hbase1.x-bin 
$ ./bin/kylin.sh start
A new Kylin instance is started by hdfs, stop it using "kylin.sh stop"Please visit 
 You can check the log at /opt/apache-kylin-1.6.0-hbase1.x-bin/logs/kylin.log


(四)进入页面

//localhost:7070/kylin

user:ADMIN    passwd:KYLIN





使用Kylin

(一)添加新的项目






给项目起一个名字,添加项目描述。






给项目添加数据源(加载hive数据表)







在数据源的页面,可以手动填写hive表名






成功加载了resource表的数据






这时就可以看到对应表的字段属性。







(二)创建model(模型)



新建model





编辑model名字和描述






选择数据表







接下来选择维度和度量,这是构建预计算模型cube中最为重要的两个属性。 

度量: 度量是具体考察的聚合数量值,例如:销售数量、销售金额、人均购买量。计算机一点描述就是在SQL中就是聚合函数。

例如:select cate,count(1),sum(num) from fact_table where date>’20161112’ group by cate;

count(1)、sum(num)是度量

维度: 维度是观察数据的角度。例如:销售日期、销售地点。计算机一点的描述就是在SQL中就是where、group by里的字段

例如:select cate,count(1),sum(num) from fact_table where date>’20161112’ group by cate;

date、cate是维度


选择要分析的维度字段






选择要分析的度量字段






设置表中的时间字段









(三)创建cube(立方体)

Cube构建需要依赖前面创建的model。选择model,设置cube名。





从上面model设置的维度字段中选择你需要分析的字段。






选择度量。

第一个_COUNT_是默认要计算的。

第二个COUNT_DISTINCT,可以去重计算得到有多少个IP地址,即通常的UV。

(COUNT_DISTINCT计算时是有精确度选择的,计算越精准需要的时间就越长)

第三个TOP_N,是用来计算排名的。

第四个MAX,是用来计算最大值的


还有其他的MIN,SUM等各种计算表达式。



后面的几个基本上就没有什么要设置的了,直接Next了,最后保存cube就好了。





(四)构建cube

创建好cube之后,我们只是得到了一个计算模型。需要将数据按照我们设定的模型去计算,才能得到相应的结果。


下面开始构建cube,在Action中选择Build





选择要构建的时间范围(如果数据是持续写入hive表,那么可以使用cube持续构建)






进入Monitor中查看正在构建的Cube,和历史构建的cube






(五)查询

cube构建成功后,数据就已经计算过,并将计算结果存储到了Hbase。那么这时候我们可以使用SQL在kylin中进行查询。






比较一下在kylin中查询和直接在hive中查询的速度。

执行一个group by order by的查询。

SQL:select ip, max(loadmax)  as loadmax,max(connectmax) as connectmax, max(eth0max) as eth0max, max(eth1max) as eth1max ,max(rospace) as rospace,max(team) as team  from resource  group by ip order by loadmax asc ;


在Kylin预计算之后,这条查询只用了0.11s





直接在hive中进行计算时间是30.05s






时间相差270倍!!!





(六)样例数据

#kylin自带一个样例,包含1w条数据的样本

$ ./bin/sample.sh
Sample cube is created successfully in project ‘learn_kylin‘.
Restart Kylin server or reload the metadata from web UI to see the change.
$ ./bin/kylin.sh stop
stopping Kylin:15334
$ ./bin/kylin.sh start

可以在Kylin中看到learn_kylin这个项目。并且有创建好的model和cube,可以供参考和学习。

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据分析频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved