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

  1. ##HBASE
  2. export HBASE_HOME=/opt/hbase-0.98.6-cdh5.2.0
  3. export HBASE_CONF_DIR=/etc/hbase/conf
  4. ##HADOOP
  5. export HADOOP_HOME=/opt/hadoop-2.3.0-cdh5.0.0
  6. export HADOOP_CONF_DIR=/etc/hadoop/conf
  7. export YARN_CONF_DIR=/etc/hadoop/conf
  8. ##HIVE
  9. export HIVE_HOME=/home/liuxiaowen/apache-hive-2.0.0-bin
  10. export HCAT_HOME=$HIVE_HOME/hcatalog
  11. export HIVE_CONF=$HIVE_HOME/conf
  12. ##KYLIN
  13. 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引起的:

  1. Caused by: java.lang.IncompatibleClassChangeError:
  2. 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

  1. java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/Utils

Kylin的简单示例


Kylin中多维分析Cube的建立主要包括以下步骤:

  1. Hive中分析好事实表;
  2. Kylin中建立项目(project);
  3. Kylin中建立数据源;
  4. Kylin中建立数据模型;
  5. Kylin中建立Cube;
  6. Build Cube;
  7. 查询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安装配置及使用示例【转】的更多相关文章

  1. 大数据应用日志采集之Scribe 安装配置指南

    大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...

  2. 大数据分析界的“神兽”Apache Kylin有多牛?【转】

    本文作者:李栋,来自Kyligence公司,也是Apache Kylin Committer & PMC member,在加入Kyligence之前曾就职于eBay.微软. 1.Apache ...

  3. 【大数据安全】Apache Kylin 安全配置(Kerberos)

    1. 概述 本文首先会简单介绍Kylin的安装配置,然后介绍启用Kerberos的CDH集群中如何部署及使用Kylin. Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spa ...

  4. 帆软发布大数据直连引擎FineDirect,对焦大数据BI

    摘要:近日,帆软官方正式发布大数据直连引擎FineDirect模块.通过该模块,企业在应用FineBI原有功能的基础上,可直接对接现有数据源,无论是传统的关系型数据库,还是Hadoop生态圈.Mpp构 ...

  5. 一文让你彻底了解大数据实时计算引擎 Flink

    前言 在上一篇文章 你公司到底需不需要引入实时计算引擎? 中我讲解了日常中常见的实时需求,然后分析了这些需求的实现方式,接着对比了实时计算和离线计算.随着这些年大数据的飞速发展,也出现了不少计算的框架 ...

  6. 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战

    本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...

  7. MapGis如何实现WebGIS分布式大数据存储的

    作为解决方案厂商,MapGis是如何实现分布式大数据存储的呢? MapGIS在传统关系型空间数据库引擎MapGIS SDE的基础之上,针对地理大数据的特点,构建了MapGIS DataStore分布式 ...

  8. 腾讯云EMR大数据实时OLAP分析案例解析

    OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过QQ音乐与腾 ...

  9. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

    这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...

随机推荐

  1. JSONArray 遍历

    JSONArray 遍历   刚遇到一个接接口任务,发现其中返回数据中,是个字符串数组,数组中就是单个json形式的内容,其实应该也可以称这种数据叫做json数组吧,只不过是字符串形式.而我需要的是将 ...

  2. Sonya and Exhibition 1004B

    B. Sonya and Exhibition time limit per test 1 second memory limit per test 256 megabytes input stand ...

  3. 尚硅谷springboot学习18-日志使用

    默认配置 SpringBoot默认帮我们配置好了日志 //记录器 Logger logger = LoggerFactory.getLogger(getClass()); @Test public v ...

  4. CC攻击与DDOS攻击区别

    二者的攻击方式主要分为三种:直接攻击.代理攻击.僵尸网络攻击 CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些.这种攻击你见不到虚假IP,见不到特别大的异常流 ...

  5. 安装vue CLI后, 出现安装权限问题

    问题:安装vue CLI后,出现:npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/usr/l ...

  6. BindingFlags 枚举

    https://msdn.microsoft.com/zh-cn/library/cexkb29a 官方解释: 指定控制绑定和由反射执行的成员和类型搜索方法的标志. 此枚举有一个 FlagsAttri ...

  7. 使用 COM 类库创建链接桌面快捷方式

    用到的 COM 类库: Windows Script Host Object Model --> Interop.IWshRuntimeLibrary.dll 示例代码: private sta ...

  8. idea git 把本地项目上传到github上

    创建一个项目,在项目文件夹下执行以下命令 第二种方法: 先在idea上创建一个项目 注意以上只是在本地建立了本地仓库,代码都放在本地仓库. 现在上传到github上 到此才上传成功

  9. set 转 enumeration

  10. PHP源码安装经常会碰到的问题及解决办法

    错误:configure: error: freetype-config not found. 解决:yum install freetype-devel 错误:configure: error: l ...