原文地址:http://lxw1234.com/archives/2016/04/643.htm

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

kylin

Kylin OLAP引擎基础框架,包括元数据(Metadata)引擎,查询引擎,Job引擎及存储引擎等,同时包括REST服务器以响应客户端请求;

支持额外功能和特性的插件;

与调度系统,ETL,监控等生命周期管理系统的整合;

在Kylin核心之上扩展的第三方用户界面;

官网地址:http://kylin.apache.org/

提供了主要功能及使用的中文文档。

Kylin的架构特性
可扩展的超快OLAP引擎,提供标准SQL查询接口

支持单机或集群部署,为减少在Hadoop上百亿规模数据查询延迟而设计;

提供标准SQL接口,满足Hadoop之上的大部分分析查询需求。

交互式查询能力,多维立方体(MOLAP Cube)

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

与BI工具及其他应用整合

提供JDBC及ODBC驱动,与BI工具整合。

其他特性

压缩与编码;

增量更新;

利用HBase Coprocessor;

基于HyperLogLog的Dinstinc Count近似算法;

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

项目及立方体级别的访问控制安全;

支持LDAP;

Kylin的安装部署
下载地址:http://kylin.apache.org/download/

apache-kylin-1.5.1-bin.tar.gz

解压至:/home/liuxiaowen/kylin

安装部署环境

我这里使用的相关版本为:

hbase-0.98.6-cdh5.2.0

hadoop-2.3.0-cdh5.0.0

apache-hive-2.0.0-bin

apache-kylin-1.5.1-bin

jdk1.7+

特别注意:Hive应该使用至少0.14以上的版本,我第一次使用0.13.1时候有问题。

另外,请确保Hadoop、HBase、Hive可用,这里不介绍。

配置环境变量

部署使用的用户为liuxiaowen

vi ~/.bash_profile

HBASE

export HBASE_HOME=/opt/hbase-0.98.6-cdh5.2.0
export HBASE_CONF_DIR=/etc/hbase/conf

HADOOP

export HADOOP_HOME=/opt/hadoop-2.3.0-cdh5.0.0
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf

HIVE

export HIVE_HOME=/home/liuxiaowen/apache-hive-2.0.0-bin
export HCAT_HOME=HIVEHOME/hcatalogexportHIVECONF=HIVE_HOME/hcatalog export HIVE_CONF=HIVE_HOME/conf

KYLIN

export KYLIN_HOME=/home/liuxiaowen/kylin/apache-kylin-1.5.1-bin
刷新环境变量:

source ~/.bash_profile

配置Kylin使用的Hive数据库:

cd $KYLIN_HOME/conf

vi kylin.properties

Hive database name for putting the intermediate flat tables

这里配置在Hive中使用的schema,需要写权限

kylin.job.hive.database.for.intermediatetable=liuxiaowen

使用HDFS超级用户在HDFS上为Kylin创建工作目录,并赋权给liuxiaowen:

hadoop fs -mkdir /kylin

hadoop fs -chown -R liuxiaowen:liuxiaowen /kylin

可选,配置Kylin使用的内存

$KYLIN_HOME/bin/setenv.sh

检查环境配置

cd $KYLIN_HOME/bin

./check-env.sh

kylin

启动Kylin

cd $KYLIN_HOME/bin

./kylin.sh start

kylin

登陆Kylin WEB界面

浏览器输入:

http://172.16.212.17:7070/kylin

用户名密码:ADMIN/KYLIN

kylin

遇到的几个问题
都是因为使用了Hive0.13.1引起的:

Caused by: java.lang.IncompatibleClassChangeError:
Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
hcatalog版本问题,后改为Hive2.0中的hcatalog

export HCAT_HOME=/home/liuxiaowen/apache-hive-2.0.0-bin/hcatalog

java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/Utils
Kylin的简单示例
Kylin中多维分析Cube的建立主要包括以下步骤:

Hive中分析好事实表;
Kylin中建立项目(project);
Kylin中建立数据源;
Kylin中建立数据模型;
Kylin中建立Cube;
Build Cube;
查询Cube;
Kylin按照上面的过程,最终将Hive中的事实表按照相应的结构,压缩并存储在HBase中。

官网提供了中文文档,说明了如何在Kylin中建立Cube,非常详细:

http://kylin.apache.org/cn/docs15/tutorial/create_cube.html

Hive中的事实表

kylin

事实表lxw1234_kylin_fact中的维度有day、region、city、siteid、os;最终查询的指标有两个:PV以及UV(COUNT DISTINCT cookieid)

Kylin中建立数据模型

  1. 建立项目lxw1234;

  2. 将Hive中的事实表 lxw1234_kylin_fact导入到Kylin数据源:

kylin3. 建立数据模型lxw1234_dataModel:

选择维度数据:

kylin

选择指标数据:

kylin

其他设置:

kylin

数据模型中的日期分区字段貌似是必选的,否则会有问题。

然后保存。

kylin

Kylin中建立Cube

kylin

设计维度:

kylin

设计指标:

kylin

其中,UV使用的COUNT_DISTINCT是近似计算,需要选择错误率,错误率越低,占用的存储越大,Build耗时越长。

其他设置请参考上面给的中文文档链接,很详细。

设置好之后保存。

kylin

Kylin中Build Cube

在Cube后面的Actions下拉菜单中选择Build:

kylin

Submit之后,在Monitor页面中可以看到Build Job的进度和状态:

kylin

双击Job Name进入该Job的详细监控页:

kylin

Build完成后,在Model页面可以看到这个Cube已经是READY状态:

kylin

你可以在HBase中查看该Cube对应的HTable:

kylin

Kylin中使用SQL查询

在Insight页面中使用SQL查询:

kylin

注意:由于DAY是关键字,需要使用双引号。

至此,Kylin的安装配置及简单示例已经全部完毕,后续将介绍进一步的使用,比如和BI工具的整合等等

分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例相关推荐

  1. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  2. 分布式大数据多维分析引擎:Kylin 在百度地图的实践

    2019独角兽企业重金招聘Python工程师标准>>> 1. 前言 百度地图开放平台业务部数据智能组主要负责百度地图内部相关业务的大数据计算分析,处理日常百亿级规模数据,为不同业务提 ...

  3. 《走近OLAP引擎--Apache Kylin》

    1.OLAP简介 联机分析处理 Molap百度百科 tableau Mondrian 2.Kylin非常好的学习博客 OLAP引擎--Kylin介绍 3.Kylin基本常识 Kylin百度百科 Kyl ...

  4. 大数据学习第一课:虚拟机安装配置

    本章主要内容 VirtualBox下安装CentOS7 Minimal版本 Minimal版本Centos7静态IP网络设置 ssh免密登录设置 我们现在身处数据时代,大数据和人工智能已经逐渐渗透到我 ...

  5. 分布式大数据sql查询引擎Presto初识

    1.背景: Hive使用MapReduce作为底层计算框架,是专为批处理设计的.但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求.Presto ...

  6. 大数据之CDH5.8.3集成安装Apache Kylin与探索使用

    博文目录 0. Kylin概览(官方) 1. Kylin特性 3. Kylin生态圈 3. Kylin集成前环境准备 4. 安装部署 4.1 下载Kylin 4.2 部署Kylin 4.3 启动Kyl ...

  7. 【大数据与云计算】大数据多维分析引擎在魅族公司的实践

    " Apache Kylin是首个完全由中国团队设计开发,并贡献到Apache软件基金会(ASF)的顶级项目,开源一年左右的时间,已经在国内国际多个公司被采用作为大数据分析平台的关键组成部分 ...

  8. Apache Gobblin 分布式大数据集成框架

    Apache Gobblin 是一个分布式大数据集成框架,用于流式和批处理数据生态系统.该项目 2014 年起源于 LinkedIn,2015 年开源,并于 2017 年 2 月进入 Apache 孵 ...

  9. 大数据多维分析平台的实践

    大数据多维分析平台的实践 一.  大数据多维分析平台搭建的初心 随着公司业务量的增长,基于传统关系型数据库搭建的各种报表查询分析系统,性能下降明显.同时由于大数据平台的的日趋完善,实时的核心业务数据逐 ...

最新文章

  1. offsetof使用小结
  2. 18-flutter的Future和FutureBuilder
  3. 求合体电脑版_SCP CB 电脑移植版测评
  4. java 封装 继承 堕胎_JAVA封装、继承、多态
  5. 消息 35371-聚集列存储索引
  6. 推荐一位BAT数据大神!(附联系方式)
  7. oracle--number
  8. linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)
  9. 【Construct Binary Tree from Inorder and Postorder Traversal】cpp
  10. linux native分区,怎么将硬盘格式分区为Linux Native格式的
  11. Timer lock
  12. LNMP一键安装shell脚本
  13. mybatis关联查询之一对多,多对一,以及多对多
  14. .net Core 学习笔记(实体字段映射,IOC注入)
  15. c语言创建通讯录不用指针,用C语言做通讯录,只能用数组,不能用指针,急用啊,谢谢了...
  16. 最新消息!Cloudera 全球发行版正式集成 Apache Flink
  17. 自旋锁原理及java自旋锁
  18. uploadify php 重命名,自定义uploadify服务器端上传脚本
  19. 八类网线和七类网线的区别_超6类和7类网线的区别
  20. 【web安全】——floor报错注入

热门文章

  1. vue读取终端硬件信息_双通道RFID模块助力电力数据采集终端(不必多说,直接测试对比)...
  2. python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...
  3. 定时器中断实验 编写程序使定时器0或者定时器1工作在方式1,定时50ms触发蜂鸣器。
  4. mysql 提交乱码问题_mysql数据库乱码问题
  5. python3 上传文件到目标机器_通过python模块实现服务器和本地机器之间快速拷贝文件...
  6. 香蜜台词共赴鸿蒙,香蜜台词斗法
  7. linux查看气质系统文件命令,Linux dumpe2fs命令:查看文件系统信息
  8. MySQL 删除用户权限
  9. 求数列1/3到1/n之和
  10. vue 浏览器调试 样式如何定位样式_浏览器断点调试-程序员的必修课