您的位置:首页 > 运维架构 > Apache

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

2017-04-26 14:32 711 查看
原文地址: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/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中建立数据模型

建立项目lxw1234;

将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工具的整合等等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐