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

原文地址: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中建立数据模型

  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工具的整合等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Kylin原理学习之Cube的创建与Build

原文地址:http://lxw1234.com/archives/2016/05/655.htm Cube是一种典型的多维数据分析技术,一个Cube可以有多个事实表,多个维表构成。如果您还不了解这些概念,建议您搜索下数据仓库、OLAP、Cube、星型模型、事实表、维度表等等。…

5-12

1,每个递归函数都有两部分,基线条件和递归条件 base case and recursive case 2,调用一个函数的时候,其他的函数调用会暂停并处于未完成的状态 3.调用栈会消耗大量的内存,栈很高的时候意味着计算机要存储大量的函数调用信息,此时的…

kylin与superset集成实现数据可视化

原文地址:http://minirick.duapp.com/kylinyu-supersetji-cheng-shi-xian-shu-ju-ke-shi-hua/?utm_sourcetuicool&utm_mediumreferral apache kylin是一个开源分布式引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以…

Ambari离线部署Hadoop集群踩到的坑

1、远程拷贝HDP组件不全导致安装client时缺少rpm包,手动拷贝解决 2、安装HAWQ,启动时报错 passwordlell ssh hawq hosts ,hawq master 和其他主机机拷贝文件输入密码受限,两方面原因: 一 root 用户 ssh 无密登录时 权…

2016012026 管凌波 散列函数的应用及其安全性

2016012026 管凌波 散列函数的应用及其安全性 一、散列函数是什么。 散列函数即为Hash函数,就是把任意长度的输入(预映射),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射&a…

Team Foundation Server (TFS) 2015 安装指导

原文地址:http://www.cnblogs.com/danzhang/p/4718035.html http://www.cnblogs.com/danzhang 张洪君 微软ALM MVP 1. 概述 微软于8月6日发布了大家期待已久的TFS 2015正式版, https://www.visualstudio.com/en-us/news/tfs2015-vs.aspx ,…

VM虚拟机链接克隆及linux eth0网卡的快速设置方法

对于后台开发者来说,在学习过程中必然接触众多中间件,在自己的虚拟机进行操作甚至搭建cluster是很常见的事情.我在初学者时摸索出一套快速的克隆虚拟机方法.分享给大家.产品VMware Workstation版本10.0.2 build-1744117这是我的虚拟机命名,我觉得这样的命名比较合适,clone机/服…

一加手机虚拟键失灵解决方案

1、手机摔了一下后下方虚拟键无法使用,尝试多种小白点工具如悬浮菜单、超级小白点、easytouch,安装完后并取得root权限后仍不能弹出悬浮框,找不到原因,原则上来讲的话如果是硬件屏幕摔坏,某哥区域无法响应触摸不应影响…

scrapy newspaper bug

发现一个newspaper的bug,在github上已修复,但pip下载的包还是有这个错fix for "jpeg error with PIL, Cant convert NoneType object to str implicitly"修复办法: 打开python27/Lib/site-packages/newspaper/images.pyclass Scraper:def largest_image_url:把log.de…

Spring MVC+Mybatis 多数据源配置

文章来自:https://www.jianshu.com/p/fddcc1a6b2d8 1. 继承AbstractRoutingDataSource AbstractRoutingDataSource 是spring提供的一个多数据源抽象类。spring会在使用事务的地方来调用此类的determineCurrentLookupKey()方法来获取数据源的key值。我们继承此抽象类…

C#如何Json转字符串;字符串转Json;Newtonsoft.Json(Json.Net)

什么是JSON C#如何Json转字符串 字符串转Json Newtonsoft.Json(Json.Net)学习笔记(转) 转载于:https://www.cnblogs.com/macT/p/9040901.html

mysql更改root用户密码

不同版本命令不一样 MySQL 5.7.6 and later: ALTER USER ‘root’’localhost’ IDENTIFIED BY ‘MyNewPass’; MySQL 5.7.5 and earlier: SET PASSWORD FOR ‘root’’localhost’ PASSWORD(‘MyNewPass’);

python2.7 安装numpy no module name zlib

CentOS6.7默认安装Python-2.6 而numpy支持python2.7以上,所以需要安装Python2.7,安装的步骤就不细说了,编译安装,然后再建立软连接。 之后安装numpy时报错no module named setuptools ,pip 安装或者源码安装,我采用源…

java : nio 学习

https://github.com/astutesparrow/nio https://www.ibm.com/developerworks/cn/education/java/j-nio/j-nio.html 转载于:https://www.cnblogs.com/chen-msg/p/9041510.html

AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署

AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署 Amazon ElastiCache 连接至 Redis 节点 通过 AWS Command Line Interface使用高级别 s3 命令 在 Linux 上安装 AWS Command Line Interface 在Amazon EC2主机上安装Zmodem协议传输工具lrzsz 安装lrzsz出现configure: …

pip install mysqlclient报错fails with EnvironmentError: mysql_config not found

解决: CentOS yum install mysql-devel 再重新执行pip install mysqlclient解决

管理外部程序的流程

本部分包含: 关于外部程序DBA任务来启用外部过程调用关于外部程序 外部程序是用C,C ,Java或其他语言编写的程序,编译并存储在数据库之外,然后由用户会话调用。例如,PL / SQL程序单元可以调用执行特殊用途处…

ssh登陆慢/xhell访问主机慢

用ssh连其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: DNS反向解析的问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向…

围观神龙架构首次开箱,现场直播暴力拆机

围观神龙架构首次开箱,现场直播暴力拆机 发布时间:2018-05-16 13:43:01686人关注34人参与阿里云X-Dragon大事记2017年4月:阿里云X-Dragon项目立项;2017年10月:阿里云正式推出基于X-Dragon架构的弹性裸金属服务器&#…

windows-server-2012R2离线中文语言包安装

1、离线包下载地址http://download.csdn.net/detail/github_38358734/9858412 2、安装方法: 解压离线包 Dism /online /Add-Package /PackagePath:C:\test\LangPacks\lp.cab 大概10分钟,完成。 然后重启电脑,到控制面板语言区域选项&…