写点什么

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

评论

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

基于java SSM图书管理系统简单版设计和实现

Java 程序员 后端

基于java+jsp的汽车租赁系统

Java 程序员 后端

基于NFS存储建立WEB群(PCS工具)

Java 程序员 后端

基于二叉树实现Map,就是这么优秀!

Java 程序员 后端

从 Kafka 到 Pulsar,BIGO 打造实时消息系统之路

Apache Pulsar

分布式 BIGO 消息中间件 云存储 Apache Pulsar 消息系统

推荐你一个正则表达式网站

卢卡多多

正则表达式 11月日更

基于 ElasticSearch 实现站内全文搜索

Java 程序员 后端

基于java的连连看游戏设计

Java 程序员 后端

基于JSP实现OA办公系统

Java 程序员 后端

基于JSP实现学校社团管理系统

Java 程序员 后端

【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)

chenssy

11月日更 死磕 Java 死磕 Java 基础

基于SSM的药店管理系统

Java 程序员 后端

模块三作业

心怀架构

增删改查的基本操作:实现MyArrayList,你学会了吗?

Java 程序员 后端

复习一周,字节跳动三场技术面+HR面,不小心拿了offer

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2(1)

Java 程序员 后端

备战明年金三银四,阿里P8大佬总结的这份Java面试文档,你可一定要好好看看

Java 程序员 后端

多线程详解第3讲:线程状态

Java 程序员 后端

多线程详解第4讲:线程同步(重点)

Java 程序员 后端

日均订单量超1500,百度萝卜快跑甩掉Waymo

脑极体

基于SSM开发实现中药制剂网站系统

Java 程序员 后端

基于vue+SpringBoot+MyBatis的开源多商户商城系统,可二次开发

Java 程序员 后端

堪称全网最全的JAVA面试复盘笔记(23个技术栈)5000字解析!冲击大厂必备

Java 程序员 后端

如何基于 React Native 快速实现一个视频通话应用

声网

flutter 人工智能「

Win11上openvino_notebooks环境搭建

IT蜗壳-Tango

IT蜗壳 OpenVINO 11月日更

大专生出身,做Java程序员真的没有春天吗?冲刺拼多多终拿下Offer

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2

Java 程序员 后端

基于Java和Bytemd用120行代码实现一个桌面版Markdown编辑器

Java 程序员 后端

堪称完美!字节强推数据结构与算法进修指南:理论源码面试三飞

Java 程序员 后端

多层次存储器

Java 程序员 后端

基于iscsi存储的kvm动态迁移(V2V)

Java 程序员 后端

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