Apache Kylin简介
Apache Kylin
概述
kylin是一个多维度分析处理(MOLAP)系统,用java语言编写。它能提供交互式SQL秒级内巨大的Hive表分析查询。
简单的来说Kylin的核心思想就是预计算,即对多维分析可能用到的度量进行预计算,将计算好的结果封装成Cube,存于hbase中,供查询时直接访问。把高复杂度的聚合运算、多表连接等操作转换成对预计算结果的查询,这决定了Kylin能够拥有很好的快速查询和高并发能力。
之后Kylin就可以将标准的SQL查询,转换成对HBase的Scan,快速查到结果返回给请求方。
理论基础是:以空间换时间,需要大量的存储空间(原数据量的10+倍),因此压缩在Kylin的使用过程中尤为重要。
环境
一、软件要求
- Hadoop: 2.7+
- Hive: 0.13 - 1.2.1+
- HBase: 1.1+
- Spark (可选) 2.1.1+
- Kafka (可选) 0.10.0+
- JDK: 1.7+
- OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+
在 Hortonworks HDP 2.2 - 2.6, Cloudera CDH 5.7 - 5.11, AWS EMR 5.7 - 5.10, Azure HDInsight 3.5 - 3.6 上测试通过
二、硬件要求
运行 Kylin 的服务器的最低的配置为 4 core CPU, 16 GB memory 和 100 GB disk。 对于高负载的场景,建议使用 24 core CPU, 64 GB memory 或更高的配置
部署
一、下载
wget http://www-us.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz
二、解压并配置环境变量
tar -zxvf apache-kylin-2.3.1-hbase1x-bin.tar.gz
cd apache-kylin-2.3.1-bin
export KYLIN_HOME=`pwd`
三、检查
确保用户有权限在 shell 中运行 hadoop, hive 和 hbase cmd
$KYLIN_HOME/bin/check-env.sh
四、启动
1. 通过kylin.sh start 启动kylin,运行时日志$KYLIN_HOME/logs/kylin.log;
$KYLIN_HOME/bin/kylin.sh start
2. Kylin 启动后可以通过浏览器 http://hostname:7070/kylin 查看。初始用户名和密码是 ADMIN/KYLIN;
3. 运行 $KYLIN_HOME/bin/kylin.sh stop 脚本,停止 Kylin。
4. 运行官方样例sample.sh来创建一个cube (注意:用户必须有hdfs的权限)
样例运行成功界面;根据提示可以重启kylin或者重新加载元数据来看到创建的cube;登陆到kylin的web界面(启动成功时有地址提示);用户名/密码:ADMIN/KYLIN;登陆后进行重新加载元数据的操作:
完成后可以在web界面中build这个cube来触发它:
需要输入一个分区的截至时间,这个字段是sales表中的日期字段,官方样例的表中这个字段的范围是(2012-01-01~2014-01-01)选择之后submit即可;
可以看到cube在构建过程的这个job任务的每一步的详细执行动作:
至此,kylin就可以正常使用了。
Kylin Cube构建详解
- 创建项目
- 同步hive表
- 创建Model
1. 填写Model的基本信息:名字,描述
2.1 选择一张事实表(就是要分析的表)
2.2.1 选择维度表(比如时间维度表,地区维度表)
2.2.2 选择与主表的关联方式以及关联条件
3. 选择维度(如年月日维度,国家维度)
4. 选择计算的指标(如价格)
5.1 选择分区字段(暂时只支持日期字段)
5.2 选择过滤方式,过滤掉脏数据
这个过程就是将分析表与维度表关联成一张宽表,并做一些基本的过滤
- 创建Cube
1.1 选择基于哪一个Model来构建Cube
1.2 Cube名字
1.3 Cube执行后邮件通知设置
2. 选择维度(这个字段就是group by的字段)
3. 选择对指标的计算方式(sum,avg等聚合函数)
4.1 自动合并的阈值
4.2 保留cube的阈值(单位是天,设置为0永久保存)
4.3 分区开始时间默认值设置
5.1 聚合的字段
5.2 存入Hbase表中的rowkey设计(默认是以维度组合后的字典编码)
5.3 高级字典设置(看官方的文档应该是在count_distinct时候用到的,对这个还没有研究)
6. Cube构建时的参数设置。如Hbase压缩格式设置等
最后保存。至此一个完整的cube构建完成,可以通过bulid触发来执行。
Apache Kylin简介相关推荐
- 初探Apache Kylin【麒麟】
本篇文章就概念.工作机制.数据备份.优势与不足4个方面详细介绍了Apache Kylin. Apache Kylin 简介 1. Apache kylin 是一个开源的海量数据分布式预处理引擎.它通过 ...
- Apache Kylin踩坑记
1.Apache Kylin简介 Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay I ...
- Apache Kylin权威指南1.3 Apache Kylin的工作原理
1.3 Apache Kylin的工作原理 Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube, ...
- Apache Kylin Spark Cubing on Kubernetes 初探
2019独角兽企业重金招聘Python工程师标准>>> 背景介绍 相信凡是关注容器生态圈的人都不会否认,Kubernetes 已经成为容器编排调度的实际标准,不论 Docker 官方 ...
- 直播报名 | Apache Kylin Meetup
Apache Kylin Meetup 直播终于又来啦- 2020 进入下半年,大家期待已久的 Apache Kylin Meetup 直播再次安排上啦!本次 Meetup将于 7 月 18 日(下周 ...
- 《走近OLAP引擎--Apache Kylin》
1.OLAP简介 联机分析处理 Molap百度百科 tableau Mondrian 2.Kylin非常好的学习博客 OLAP引擎--Kylin介绍 3.Kylin基本常识 Kylin百度百科 Kyl ...
- 大数据开发平台:数仓组件Apache Kylin详细安装暨使用教程
前言: Kylin依赖于Hive和Hbase,所以必须保证Hive和Hbase能够正常使用. Hive安装教程[传送门] Hbase安装教程[传送门] 简介: Apache Kylin是一个开源的分布 ...
- Apache Kylin 大数据时代的OLAP利器
1. OLAP简介 OLAP的历史与基本概念 OLAP全称为在线联机分析应用,是一种对于多维数据分析查询的解决方案.典型的OLAP应用场景包括销售.市场.管理等商务报表,预算决算,经济报表等等. 最早 ...
- 【读书笔记】数据仓库- Apache Kylin权威指南
Apache Kylin权威指南(第2版) ◆ 1.2.1 为什么要使用Apache Kylin 它们的主要技术是"大规模并行处理"(Massively Parallel Proc ...
最新文章
- .中英文系统底层编码导致乱码问题
- LayoutInflater中四种类型inflate方法的介绍
- web.xml配置说明
- .NET 4 上的REST 框架
- 柿子不能和什么同吃?柿子相克食物大盘点
- 有没有想过,你眼中的SQL进阶,别人看来连入门都不是?
- 云南省电子计算机高级,计算机基础知识-云南省电子信息高级技工学校.ppt
- Linux内核分析——操作系统是如何工作的
- [20180124]测试SQLNET.EXPIRE_TIME参数3
- 舒尔特注意力训练表格_为什么那些常见的专注力训练方式,给娃用了好像效果不大?...
- ExactScan Pro 18.12.24 Mac 破解版 万能扫描仪整合工具
- python123随机密码生成器_一个随机密码生成器
- NSACE|企业网络安全问题,千万别不在乎
- Sunshine 项目构思
- 模仿腾讯QQ的web登陆面板
- JS的unshift()和shift()
- 程序员如何增加收入?
- 入坑MATLAB必会的吐血总结
- 妹妹画的小恐龙和我用Python画的小恐龙,你更加喜欢谁的!❤️
- 图的遍历之BSF广度优先算法6.2.2(网络整理)