大数据分析平台Apache Kylin的部署(Cube构建使用)

前言

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 http://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

(四)进入页面

http://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,可以供参考和学习。

时间: 2024-11-10 03:47:55

大数据分析平台Apache Kylin的部署(Cube构建使用)的相关文章

使用Apache Kylin搭建企业级开源大数据分析平台

使用Apache Kylin搭建企业级开源大数据分析平台 转:http://www.thebigdata.cn/JieJueFangAn/30143.html 我先做一个简单介绍我叫史少锋,我曾经在IBM.eBay做过大数据.云架构的开发,现在是Kyligence的技术合伙人. Kylin是这两年在国内发展非常快的开源大数据项目.今天大会合作厂商中有超过一半的企业已经在使用或者正在试用Kylin,应主办方邀请,今天跟大家做一个关于如何使用Kylin构建开源大数据分析平台的分享. 这是我今天的议程

Apache Kylin大数据分析平台的演进

Apache Kylin大数据分析平台的演进 转:http://mt.sohu.com/20160628/n456602429.shtml 我是来自Kyligence的李扬,是上海Kyligence的联合创始人兼CTO.今天我主要来和大家分享一下来Apache Kylin 1.5的新功能和架构改变. Apache Kylin是什么 Kylin是最近两年发展起来的开源项目,在国外的知名度不是很高,但是在中国广为人知.Kylin的定位是Hadoop大数据平台上的多维分析工具,最早是由eBay在上海的

基于Hadoop离线大数据分析平台项目实战

基于Hadoop离线大数据分析平台项目实战  课程学习入口:http://www.xuetuwuyou.com/course/184 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介: 某购物电商网站数据分析平台,分为收集数据.数据分析和数据展示三大层面.其中数据分析主要依据大数据Hadoop生态系统常用组件进行处理,此项目真实的展现了大数据在企业中实际应用. 课程内容 (1)文件收集框架 Flume ①Flume 设计架构.原理(三大组件) ②Flume 初步使

如何构建一个企业的大数据分析平台

面对海量的各种来源的数据,如何对这些零散的数据进行有效的分析,得到有价值的信息一直是大数据领域研究的热点问题. 大数据分析处理平台就是整合当前主流的各种具有不同侧重点的大数据处理分析框架和工具,实现对数据的挖掘和分析,一个大数据分析平台涉及到的组件众多,如何将其有机地结合起来,完成海量数据的挖掘是一项复杂的工作.在搭建大数据分析平台之前,要先明确业务需求场景以及用户的需求,通过大数据分析平台,想要得到哪些有价值的信息,需要接入的数据有哪些,明确基于场景业务需求的大数据平台要具备的基本的功能,来决

大数据分析平台安全评估的五大要素

大数据分析平台安全评估的五大要素.面对市场形形×××的大数据安全分析产品,用户需要擦亮眼睛,辨伪识真.在考核大数据安全分析平台时,要确保对以下五个要素进行评估,这对实现大数据分析的效果非常关键.这对于快速收集随时产生的海量数据.快速进行数据分析,确保安全人员高效响应非常重要. 要素1:统一的数据管理平台 统一的数据管理平台是大数据分析系统的基础.数据管理平台存储和查询企业数据.这似乎是一个广为所知,并且已经得到解决的问题,不会成为区分不同企业产品的特色,但实际情况却是,这仍是个问题.处理海量数据

如何打造高性能大数据分析平台

1.大数据是什么? 大数据是最近IT界最常用的术语之一.然而对大数据的定义也不尽相同,所有已知的论点例如结构化的和非结构化.大规模的数据等等都不够完整.大数据系统通常被认为具有数据的五个主要特征,通常称为数据的5 Vs.分别是大规模,多样性,高效性.准确性和价值性. 据Gartner称,大规模可以被定义为"在本(地)机数据采集和处理技术能力不足以为用户带来商业价值.当现有的技术能够针对性的进行改造后来处理这种规模的数据就可以说是一个成功的大数据解决方案. 这种大规模的数据没将不仅仅是来自于现有的

企业信息管理原地踏步 你该考虑Power-BI大数据分析平台

大数据的浪潮已席卷全球,越来越多的企业逐渐认同数据分析在管理支持上的重要地位. 但对于大多数企业来说,大数据还是很陌生,构建大数据分析平台不是一件容易的事,总是障碍重重,导致忙活了半天,企业的数据化管理仍然在原地踏步.为此,这里提供奥威Power-BI首席咨询顾问邹总在长三角CIO高峰论坛分享的关于构建大数据分析平台的演讲提到的企业遇到的一些大问题,来看看你的企业有没有这些问题呢? 一.系统定位不清 在启动一个商业智能BI项目前,系统定位是非常关键的.但企业没有想清楚项目的目标,也没有对自己的信

  Splunk企业级运维智能&大数据分析平台新手入门视频课程上线

Splunk企业级运维智能&大数据分析平台新手入门视频课程上线 http://edu.51cto.com/course/course_id-6696.html 2016年8月2日到5日,移动端购买可享受9.5折. Splunk企业级运维智能&大数据分析平台新手入门视频课程上线

《开拓者开发团队》第二次作业:基于弹幕评论的大数据分析平台项目开题报告

一.项目申请简表 项目名称 基于弹幕评论的大数据分析平台 项 目 类 别 本科生 研究生 学术课题项目填写标 记(√) ( ) A.自然科学学术论文 (√ ) B.科技发明制作 ( ) C.社会科学论文与调查报告 类别 标记 ( ) (  ) A.学术科研类项目 (  ) B.社会调查类项目 (  ) C.创新实践类项目 创新创业 项目填写 标记(√) (√)信息技术         (  )电子商务         (  )健康医疗 (  )新能源新材料   (  )跨境电子商务    (