写点什么

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:293798

评论

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

区块链在债券市场如何应用

CECBC

区块链 债券

一次 Java 进程 OOM 的排查分析(glibc 篇)

996小迁

Java 编程 架构 面试 计算机

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

Jira停售Server版政策客观解读——如何最小化风险?

爱吃小舅的鱼

项目管理 研发管理 Jira Atlassian

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

《垃圾回收的算法与实现》.pdf

田维常

垃圾回收

分布式事务太繁琐?官方推荐Atomikos,5分钟帮你搞定

互联网应用架构

分布式事务 springboot

太赞了!腾讯T3-3架构师整理了5000页的Java学习手册免费开放下载

Java架构之路

Java 程序员 架构 面试 编程语言

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

云原生2.0时代下,DevOps实践如何才能更加高效敏捷?

华为云开发者联盟

云计算 数字化 华为云

高性能利器!华为云MRS ClickHouse重磅推出!

华为云开发者联盟

数据库 Clickhouse MRS

区块链,音乐,流媒体和版税

CECBC

区块链 艺术

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

MySQL从库维护经验分享

Simon

MySQL 主从复制

#不吐不快# CV千千条,修改最重要。代码不规范,伙伴两行泪!

程序员小航

奇葩的经历 不吐不快

【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍

IoT云工坊

人工智能 物联网 云服务 Apache Pulsar 云平台

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

科普干货|漫谈鸿蒙LiteOS-M与HUAWEI LiteOS内核的几大不同

华为云开发者联盟

华为 鸿蒙 IoT

小学妹问我:如何利用可视化工具排查问题?

田维常

可视化

SpringBoot:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂)

比伯

Java 编程 架构 面试 计算机

#不吐不快# 三观很正的Boss,你遇到过么?

架构精进之路

职场成长 奇葩的经历 不吐不快

SQL数据库:窗口函数

正向成长

窗口函数

IoT企业物联网平台,从设备端到云端业务系统全链路开发实战

不吃米饭

阿里云 最佳实践 物联网 IoT

圆通快递回应内鬼泄露用户信息:严打数据倒卖灰色产业

石头IT视角

synchronized 到底该不该用

古时的风筝

Java synchronized

Nginx-技术专题-技术介绍

洛神灬殇

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

一瞬间让我秒变“快男”!腾讯内部强推Java性能优化手册,快了不止一点点。

Java架构追梦

Java 架构 jdk 面试 性能优化

DàYé的CTO姗姗学步路

曲水流觞TechRill

管理 CTO

年轻人不讲武德不仅白piao接口测试知识还白piao接口测试工具会员

测试人生路

接口测试

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

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