分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
Kylin 麒麟官网:http://kylin.apache.org/cn/download/
关键字:olap、Kylin
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
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=$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
cd $KYLIN_HOME/bin
./kylin.sh start
登陆Kylin WEB界面
浏览器输入:
http://172.16.212.17:7070/kylin
用户名密码:ADMIN/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中的事实表
事实表lxw1234_kylin_fact中的维度有day、region、city、siteid、os;最终查询的指标有两个:PV以及UV(COUNT DISTINCT cookieid)
Kylin中建立数据模型
1. 建立项目lxw1234;
2. 将Hive中的事实表 lxw1234_kylin_fact导入到Kylin数据源:
3. 建立数据模型lxw1234_dataModel:
选择维度数据:
选择指标数据:
其他设置:
数据模型中的日期分区字段貌似是必选的,否则会有问题。
然后保存。
Kylin中建立Cube
设计维度:
设计指标:
其中,UV使用的COUNT_DISTINCT是近似计算,需要选择错误率,错误率越低,占用的存储越大,Build耗时越长。
其他设置请参考上面给的中文文档链接,很详细。
设置好之后保存。
Kylin中Build Cube
在Cube后面的Actions下拉菜单中选择Build:
Submit之后,在Monitor页面中可以看到Build Job的进度和状态:
双击Job Name进入该Job的详细监控页:
Build完成后,在Model页面可以看到这个Cube已经是READY状态:
你可以在HBase中查看该Cube对应的HTable:
Kylin中使用SQL查询
在Insight页面中使用SQL查询:
注意:由于DAY是关键字,需要使用双引号。
至此,Kylin的安装配置及简单示例已经全部完毕,后续将介绍进一步的使用,比如和BI工具的整合等等,请关注我的博客。
转载请注明:lxw的大数据田地 » 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】的更多相关文章
- 大数据应用日志采集之Scribe 安装配置指南
大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...
- 大数据分析界的“神兽”Apache Kylin有多牛?【转】
本文作者:李栋,来自Kyligence公司,也是Apache Kylin Committer & PMC member,在加入Kyligence之前曾就职于eBay.微软. 1.Apache ...
- 【大数据安全】Apache Kylin 安全配置(Kerberos)
1. 概述 本文首先会简单介绍Kylin的安装配置,然后介绍启用Kerberos的CDH集群中如何部署及使用Kylin. Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spa ...
- 帆软发布大数据直连引擎FineDirect,对焦大数据BI
摘要:近日,帆软官方正式发布大数据直连引擎FineDirect模块.通过该模块,企业在应用FineBI原有功能的基础上,可直接对接现有数据源,无论是传统的关系型数据库,还是Hadoop生态圈.Mpp构 ...
- 一文让你彻底了解大数据实时计算引擎 Flink
前言 在上一篇文章 你公司到底需不需要引入实时计算引擎? 中我讲解了日常中常见的实时需求,然后分析了这些需求的实现方式,接着对比了实时计算和离线计算.随着这些年大数据的飞速发展,也出现了不少计算的框架 ...
- 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战
本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...
- MapGis如何实现WebGIS分布式大数据存储的
作为解决方案厂商,MapGis是如何实现分布式大数据存储的呢? MapGIS在传统关系型空间数据库引擎MapGIS SDE的基础之上,针对地理大数据的特点,构建了MapGIS DataStore分布式 ...
- 腾讯云EMR大数据实时OLAP分析案例解析
OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过QQ音乐与腾 ...
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析
这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...
随机推荐
- Python conda 入门
https://blog.csdn.net/yimingsilence/article/details/79388205 查看版本 conda --version 列出所有的Python环境 cond ...
- confusing c++ 重写 与 重定义 记录1
class parent { public: void f() { cout << "parent f()" << endl; } void f(int i ...
- JSP基本_JSPの構成要素、アクション、ディレクティブ
1.JSPの構成要素[コア要素] JSP文法のコアとなる要素で.サーブレットソースに変換される. ・宣言: <%! - %> (宣言で指定した変数は.Javaの「フィールド変数」になる.ス ...
- KMP算法next数组求解
关于KMP算法,许多教材用的是递推式求解,虽然代码简洁,但是有些不好理解,这里我介绍一种迭代求next数组的方法 KMP算法关键部分就是滑动模式串,我们可以每次滑动一个单位,直到出现可能匹配的情况,此 ...
- Cookie安全小结
Cookie机制:一般来说,同域内浏览器中发出的任何一个请求都会带上Cookie,无论请求什么资源,请求时,Cookie出现在请求头的Cookie字段中.服务端响应头的Set-Cookie字段可以添加 ...
- UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到
在安卓机上完全看不到shader占用的内存,但问题是,shader在安卓上真的几乎不占用内存了?(我们的游戏中只使用了mobile下的shader) 参考下面这个文章,说是真机上也有: Unity3D ...
- Linux sed命令使用方法
sed(Stream Editor)是Linux中文本处理使用非常广泛的工具,可以对文件内容进行替换.删除.新增.选取特定行等功能.下面通过sed常用实例介绍sed命令的使用方法. sed基本语法 s ...
- MTIM(中间人攻击)
所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情. 信息篡改 当主机A.和主机B通信时,都由主机C来为其“转发”,如图一,而A.B之间并没有真正意思上的直 ...
- 记录在Centos下安装和使用Git的过程,从github上克隆仓库和提交。
1 安装git yum install git 2配置DNS vi /etc/resolv.conf nameserver 8.8.8.8nameserver 8.8.4.4 3 设置网关 vi /e ...
- 手机移动端web前端常见问题整理
移动端常见问题及解决方案 一.meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="w ...