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

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= H I V E H O M E / h c a t a l o g e x p o r t H I V E C O N F = HIVE_HOME/hcatalog export HIVE_CONF= 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
cd $KYLIN_HOME/bin

./kylin.sh start

kylin

登陆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. 在这里插入图片描述

    1. 建立数据模型lxw1234_dataModel:

选择维度数据:
在这里插入图片描述
选择指标数据:
在这里插入图片描述
其他设置:
在这里插入图片描述
数据模型中的日期分区字段貌似是必选的,否则会有问题。

然后保存。
在这里插入图片描述

Kylin中建立Cube

在这里插入图片描述
设计维度:
在这里插入图片描述
设计指标:
在这里插入图片描述
其中,UV使用的COUNT_DISTINCT是近似计算,需要选择错误率,错误率越低,占用的存储越大,Build耗时越长。

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

设置好之后保存。
在这里插入图片描述

Kylin中Build Cube

在Cube后面的Actions下拉菜单中选择Build:
在这里插入图片描述
Submit之后,在Monitor页面中可以看到Build Job的进度和状态:
在这里插入图片描述
Build完成后,在Model页面可以看到这个Cube已经是READY状态:
在这里插入图片描述
你可以在HBase中查看该Cube对应的HTable:
在这里插入图片描述

Kylin中使用SQL查询

在Insight页面中使用SQL查询:
在这里插入图片描述
注意:由于DAY是关键字,需要使用双引号。

转载:http://lxw1234.com/archives/2016/04/643.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Kylin 是一款开源的分布式分析引擎,旨在为 OLAP(联机分析处理)场景下大数据处理提供高效的解决方案。Kylin 架构设计主要包括四层:数据存储层、计算层、查询层和访问层。 数据存储层:Kylin 支持多种数据源,包括 HBase、Hive 和 RDBMS。在数据存储层,Kylin 将数据进行切分和存储,并构建多维数据模型和 Cube 模型,以此支持多维分析查询。 计算层:Kylin 计算层主要负责构建 Cube 数据模型,从而支持快速的多维分析Kylin 使用 MapReduce、Spark 和 Flink 等分布式计算框架构建 Cube 模型,并且采用增量计算和全量计算相结合的方式,以保证数据的实时更新和高效查询。 查询层:Kylin 查询层主要提供两种查询方式:SQL 和 REST API。Kylin 查询层可以直接访问 Kylin Cube 数据模型,同时支持 SQL JOIN 和聚合操作,以支持丰富的多维分析操作。 访问层:Kylin 访问层主要负责提供数据可视化和 BI 工具集成。Kylin 支持多种数据可视化工具,如 Tableau、PowerBI 和 Superset 等,以及多个 BI 工具的集成,如 Apache ZeppelinApache Superset 和 Apache Druid 等。 总之,Apache Kylin 架构设计以分布式计算为核心,通过数据存储、计算、查询和访问四层框架提供高效、快速、多维的 OLAP 型数据分析解决方案,可广泛应用于电商、金融、广告等场景的数据分析处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值