写点什么

Apache Kylin:基于 Hadoop 的 OLAP 引擎

  • 2016-10-12
  • 本文字数:1369 字

    阅读完需:约 4 分钟

传统上,Hadoop(包括 MapReduce,Pig 以及 Hive)通常用于外部私有

OLAP Cube 引擎准备数据。如今,Zaloni 的客户基于

Apache Kylin 的 OLAP 技术实现了实时查询的能力,这些 Cube 的事实表包含了 400 亿条以上的原始数据。我们正在帮助客户统一归集来自于多个独立系统的账单数据,并构建 OLAP Cube 以支持实时分析,这是以前系统所无法实现的。现在,Hadoop 集群都可以做到了。

基于 ****Hadoop 的分析演化

Hadoop 已经从通用计算能力(MapReduce)的分布式数据平台演化为一个更强大的平台。Hadoop 及其生态系统已经有能力处理更广泛的用例,远超最初设计时的低成本分布式批处理能力。支持了从迭代式的机器学习算法,到

OLAP

OLTP 系统,这些基于“hadoop 集群”的开源分析能力给传统的大玩家们(Oralce,SAS,Teradata,IBM 等)带来了很大的压力。

为规模设计

Apache Kylin 是开源的多维在线分析处理引擎(MOLAP),名字来源于中国的一种神兽“麒麟”。项目最初诞生于 eBay,专为分析处理 PB 级数据集而设计。这里引用一段

Apache 基金会 2015 年 12 月的 Blog:“Apche Kylin 是目前为止大数据领域最好的 OLAP 引擎”,eBay 数据服务与解决方案部门高级总监 Wilson Pang 说到,“在 eBay,我们收集用户在每一个页面的每一个行为。当其他 OLAP 引擎挣扎于数据量的极大膨胀时,Kylin 可以在毫秒级获得查询响应。除此之外,基于 Kylin 我们还实现了近实时的数据流存储和分析。总之,Kylin 在 eBay 产品分析平台中扮演了至关重要的后台核心组件角色。”

如何工作

Kylin 通过预计算实现查询速度的提升,利用

Hive 查询计算多个维度的组合(译者注:此处原文有误,正确应为,Kylin 是通过 Hive 获取数据源,并利用 MapReduce 计算多个维度的任意组合),计算各类指标的聚合值,并将这些中间结果保存在

HBase 中。Kylin 拥有用户友好的查询界面,也支持通过 API 和 JDBC、ODBC 提交查询。查询引擎基于

Apache Calcite 查询处理器和 HBase 的检索功能(比如 fuzzy row filters)实现结果集快速获取。HBase 的 rowkeys 利用

Trie Data Structure 技术实现维度字段字典数据的高效压缩。

当前,Kylin 只支持

星型模型,因此每个Cube 只能有单一的事实表。

建模**** 向导

设计Cube 很容易。假设你已经有了一张Hive 的表,建模向导将帮助你一步步走完设计的流程,包括选择维度(包括层级维度),选择维表,选择指标等。也支持按照日期时间分区,使得Cube 分段刷新易如反掌,这广泛用在了流数据的增量式构建。一旦Cube 定义好了,我们通过Kylin 的监控界面查看Cube 的构建进度。

除了原生的Kylin Web 界面,你可以通过JDBC 查询OLAP Cube,也可以通过Zeppelin(Zeppelin 已经内置了Kylin 的解释器),或者设计良好的REST API。

基于Hadoop 的****OLAP 的其他选项

Kylin 是基于 Hadoop 的 OLAP 技术的一个开源选项。

Apache Lens 是另一个,它是一个

ROLAP 解决方案,并不能实现 Kylin 这种预计算技术所能达到的快速查询响应能力。

Druid 也是一个选项,它采用了自己的集群技术(并不依赖 Hadoop)。也有一些第三方的解决方案,声称支持 Hadoop 之上的 OLAP 能力。

作者:Craig Lukasi,本文已获翻译授权。

译者:刘一鸣(Billy Liu), 现任 Kyligence 产品负责人,负责 Apache Kylin 企业级版本及其他产品的规划和设计。Kyligence 是由 Apache Kylin 核心团队创立的创业公司。

2016-10-12 21:293752

评论

发布
暂无评论
发现更多内容

从0到1搭建大数据平台之数据采集系统

数据社

大数据 数据采集

读书笔记:Google软件测试之道【一】

Man

测试 测试文化

原创 | 使用JPA实现DDD持久化- O:对象的世界(1/3)

编程道与术

Java hibernate DDD JDBC jpa

两万字长文50+张趣图带你领悟网络编程的内功心法

帅旋

网络协议 TCP/IP

聚焦智慧城市生活服务,百度携手贝塔智能按下“加速键”

百度大脑

人工智能 人脸识别 AR 百度大脑 智慧城市

实时计算的业务劣势、思维误区和改进之道

KAMI

大数据 flink 方法论 实时计算

JVM系列之:JIT中的Virtual Call接口

程序那些事

Java JVM JIT

自主管理——对人性的假设

zhongzhq

自主管理 组织

从0到1搭建大数据平台之调度系统

数据社

大数据 工作流调度

30秒,2种方法解决SQL Server的内存管理问题

华为云开发者联盟

数据库 sql 内存 服务器 华为云

话题讨论 | 哪本极具影响力的书,是每位程序员都应该读的?

InfoQ写作社区官方

写作平台 话题讨论

LeetCode题解:70. 爬楼梯,DP遍历,变量缓存结果,JavaScript,详细注释

Lee Chen

大前端 LeetCode

LeetCode 328. Odd Even Linked List

liu_liu

算法 LeetCode

架构师训练营第九周作业

一剑

读书笔记:Google软件测试之道【三】

Man

测试 测试文化

你不是说你会Aop吗?

Java旅途

阿里巴巴《Java 开发手册》—嵩山版发布,附下载链接!

程序员生活志

Java 学习 阿里巴巴 手册

MySQL 的 crash-safe 原理解析

vivo互联网技术

MySQL 数据库 开源

3行!仅3行代码就能抓取B站(弹幕、评论、用户)数据

华为云开发者联盟

数据 B站 代码 词云图 API

如何从0到1搭建大数据平台

数据社

大数据 中台

ARTS-WEEK9

一周思进

成功的9大步骤:从手动测试转为自动化测试

禅道项目管理

测试 自动化测试

ElasticSearch笔记

石刻掌纹

企业玩转DevOps转型:由弱到强,只需7步

华为云开发者联盟

DevOps 软件工程 组织转型 软件开发 华为云

Flink x Zeppelin ,Hive Streaming 实战解析

Apache Flink

flink hive Zeppelin

糟糕,你写的 BUG 要被存1000年了!

华为云开发者联盟

GitHub 开源 代码 bug 卤化银胶片

区块链在这些生活场景中悄然落地了......

CECBC

区块链 落地应用

计算机网络基础(十二)---网络层-外部网关路由协议

书旅

计算机网络 网络 协议栈 BGP

什么样的服务器适合做APP?

德胜网络-阳

从0到1搭建大数据平台之计算存储系统

数据社

大数据 中台 计算引擎

读书笔记:Google软件测试之道【二】

Man

测试 测试文化

Apache Kylin:基于Hadoop的OLAP引擎_DevOps & 平台工程_Craig Lukasi_InfoQ精选文章