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简介相关推荐

  1. 初探Apache Kylin【麒麟】

    本篇文章就概念.工作机制.数据备份.优势与不足4个方面详细介绍了Apache Kylin. Apache Kylin 简介 1. Apache kylin 是一个开源的海量数据分布式预处理引擎.它通过 ...

  2. Apache Kylin踩坑记

    1.Apache Kylin简介 Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay I ...

  3. Apache Kylin权威指南1.3 Apache Kylin的工作原理

    1.3 Apache Kylin的工作原理 Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube, ...

  4. Apache Kylin Spark Cubing on Kubernetes 初探

    2019独角兽企业重金招聘Python工程师标准>>> 背景介绍 相信凡是关注容器生态圈的人都不会否认,Kubernetes 已经成为容器编排调度的实际标准,不论 Docker 官方 ...

  5. 直播报名 | Apache Kylin Meetup

    Apache Kylin Meetup 直播终于又来啦- 2020 进入下半年,大家期待已久的 Apache Kylin Meetup 直播再次安排上啦!本次 Meetup将于 7 月 18 日(下周 ...

  6. 《走近OLAP引擎--Apache Kylin》

    1.OLAP简介 联机分析处理 Molap百度百科 tableau Mondrian 2.Kylin非常好的学习博客 OLAP引擎--Kylin介绍 3.Kylin基本常识 Kylin百度百科 Kyl ...

  7. 大数据开发平台:数仓组件Apache Kylin详细安装暨使用教程

    前言: Kylin依赖于Hive和Hbase,所以必须保证Hive和Hbase能够正常使用. Hive安装教程[传送门] Hbase安装教程[传送门] 简介: Apache Kylin是一个开源的分布 ...

  8. Apache Kylin 大数据时代的OLAP利器

    1. OLAP简介 OLAP的历史与基本概念 OLAP全称为在线联机分析应用,是一种对于多维数据分析查询的解决方案.典型的OLAP应用场景包括销售.市场.管理等商务报表,预算决算,经济报表等等. 最早 ...

  9. 【读书笔记】数据仓库- Apache Kylin权威指南

    Apache Kylin权威指南(第2版) ◆ 1.2.1 为什么要使用Apache Kylin 它们的主要技术是"大规模并行处理"(Massively Parallel Proc ...

最新文章

  1. .中英文系统底层编码导致乱码问题
  2. LayoutInflater中四种类型inflate方法的介绍
  3. web.xml配置说明
  4. .NET 4 上的REST 框架
  5. 柿子不能和什么同吃?柿子相克食物大盘点
  6. 有没有想过,你眼中的SQL进阶,别人看来连入门都不是?
  7. 云南省电子计算机高级,计算机基础知识-云南省电子信息高级技工学校.ppt
  8. Linux内核分析——操作系统是如何工作的
  9. [20180124]测试SQLNET.EXPIRE_TIME参数3
  10. 舒尔特注意力训练表格_为什么那些常见的专注力训练方式,给娃用了好像效果不大?...
  11. ExactScan Pro 18.12.24 Mac 破解版 万能扫描仪整合工具
  12. python123随机密码生成器_一个随机密码生成器
  13. NSACE|企业网络安全问题,千万别不在乎
  14. Sunshine 项目构思
  15. 模仿腾讯QQ的web登陆面板
  16. JS的unshift()和shift()
  17. 程序员如何增加收入?
  18. 入坑MATLAB必会的吐血总结
  19. 妹妹画的小恐龙和我用Python画的小恐龙,你更加喜欢谁的!❤️
  20. 图的遍历之BSF广度优先算法6.2.2(网络整理)

热门文章

  1. 外媒称中国现行社保制度劫贫济富
  2. usb相关资料整理(一)
  3. 你也会说谎——林宥嘉【说谎】解析
  4. LoRa和NB-IoT的对比,LoRa感觉毫无胜算可言
  5. 跑步消耗的能量按跑步距离算,对于平地跑步,热量计算的大致公式为:消耗热量(卡路里)=体重(公斤)*距离(公里),卡路里是能量单位,其定义为在1个大气压下,将1克水提升1摄氏度所需要的热量
  6. Swing 的简单使用
  7. 为什么优秀人才都离你而去
  8. 蔚来事故背后真相:Pilot只是舒适性功能,NOP仅是公开测试版本
  9. 【大商创常见问题解疑】大商创X服务器站点目录安全限制教程
  10. 利用菜单配置文件生成菜单