Kylin:基于Hadoop的开源数据仓库OLAP分析引擎

标签: 技术 数据仓库 | 发表时间:2014-10-31 05:24 | 作者:标点符
出处:http://www.biaodianfu.com

Kylin是一个开源、分布式的OLAP分析引擎,它由eBay公司开发,并且基于Hadoop提供了SQL接口和OLAP接口,能够支持TB到PB级别的数据量。OLAP即联机分析处理,它能够帮助分析人员、管理人员或执行人员从多角度快速、一致、交互地存取信息和更加深入的了解信息。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求。目前,比较著名的开源OLAP分析引擎还有 LemurMondrian。Lemur是用C++编写的面向混合型联机分析处理(HOLAP)的引擎,它能够被其他语言的程序所调用,支持切片、切块和旋转等基本操作。Mondrian是用JAVA编写的面向关系型联机分析处理(ROLAP)引擎,它符合XML和XMLA协议,可以完成异构平台下的数据通信。Mondrian被设计运行在关系数据库上,提供基于JAVA 的API供应用程序调用展示结果。

从Kylin官网得知,它具有以下特性:

  • 超级快的OLAP分析引擎,并具备较强的可伸缩性。Kylin旨在减少Hadoop在10亿行以上数据级别的情况下的查询延迟。
  • 为Hadoop 提供 ANSI-SQL 接口。Kylin为Hadoop提供了ANSI-SQL接口,并且支持大多数的ANSI-SQL的函数。
  • 交互式查询能力。用户能够通过Kylin在秒级别的延迟状况下同Hadoop进行交互,并且对于相同的数据。集效果优于Hive的查询
  • 多维联机分析处理数据仓库(MOLAP Cube)。用户能够定义数据模型,并且通过Kylin能够预建超过10多亿行原始数据记录的数据模型。
  • 数据模型可与其他 BI 工具无缝集成。目前,Kylin提供了同BI工具无缝集成的功能,如Tableau。
  • 其他值得关注的特性。具有作业管理和监控的功能、具有简单易用的 Web操作界面、支持数据压缩和编码、支持 LDAP 集成、能够利用HBase的Coprocessor降低查询延迟等。

作为一套旨在对Hadoop环境下分析流程进行加速,而且能够与SQL兼容性工具顺利协作的解决方案,Kylin成功将SQL接口与多维分析机制(OLAP)引入Hadoop,旨在对规模极为庞大的数据集加以支持。Kylin的高层架构,如下所示:

kylin

支持Kylin能够良好运行的生态系统包括以下组成部分:

  • Kylin的核心部分。Kylin的OLAP引擎框架包括元数据引擎、查询引擎、作业引擎、存储引擎以及用来处理客户端请求的REST服务器
  • 可扩展的组件部分。包括支持更多功能的插件,如HBase的Coprocessor、Hive等。
  • 集成的组件部分。生命周期管理器支持集成作业调度器、ETL工具、监控和报警系统。
  • 用户界面部分。允许第三方用户基于Kylin 核心组件定制自己的用户界面。
  • 驱动部分。ODBC和JDBC 驱动能够支持不同的工具和产品,如Tableau。

eBay在2014年10月20日的一篇博客上 分享了Kylin的细节,包括REST API、ANSI-SQL兼容性、连接分析工具Tableau和Excel,以及在一些查询上低于秒级的延迟。然而,Kylin最独特的特性是它如何处理scale。eBay表示,它可以查询数十亿行数据——在高达14TB的数据集上,速度比使用传统的Apache Hive工具快得多。

下面是eBay分享的Kylin如何在公司内部的使用情况:

开放Kylin的时候,我们已经有一些eBay业务单元在生产中使用它。我们最大的用例是120+亿源记录生成的14 +TB cube。它的90%查询延迟小于5秒。现在,我们的用例瞄准分析师和业务用户,他们可以轻松的通过Tableau分析并且得到结果——不再需要Hive查询,shell命令等等。

想要知道Kylin在与下一版本的Hive、Spark SQL以及Hadoop SQL分析的其他选项较量中谁会胜出,将是一件非常有趣的事情,Kylin作为YARN资源管理器一部分可以在Apache Hadoop的最新版本上获得。我猜它会慢一点,但比内存选项或那些不需要MapReduce处理的更具扩展性,不过这对于那些仍然在运行更早软件版本的用户可能是一个可靠的选

相关 [kylin hadoop 开源] 推荐:

Kylin:基于Hadoop的开源数据仓库OLAP分析引擎

- - 标点符
Kylin是一个开源、分布式的OLAP分析引擎,它由eBay公司开发,并且基于Hadoop提供了SQL接口和OLAP接口,能够支持TB到PB级别的数据量. OLAP即联机分析处理,它能够帮助分析人员、管理人员或执行人员从多角度快速、一致、交互地存取信息和更加深入的了解信息. OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求.

分布式计算开源框架Hadoop入门实践

- - ITeye博客
一、分布式计算开源框架Hadoop实践. 在 SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章《Tiger Concurrent Practice --日志分析并行分解设计与实现》中有所提到. 但是由于统计的内容暂时还是十分简单,所以就采用Memcache作为计数器,结合MySQL就完成了访问 控制以及统计的工作.

一套数据,多种引擎(impala/Hive/kylin)

- - ITeye博客
以前写过一篇文档讨论MPP DB的发展,《 MPP DB 是大数据实时分析系统未来的选择吗. 》,当时主要是想讨论下Greenplum数据库是否合适做数据存储,以及实时查询. 文章我主要提的MPP DB短板是扩展性和对并发的支持,从目前Pivotal公司主推的HAWK,已经可以清楚的看到,业界主流的思路是SQL onhadoop,用传统引擎的高性能加上hadoop 存储的鲁棒性,来构建大数据实时分析.

基于 Kylin 的推荐系统效果评价系统

- - IT瘾-tuicool
OLAP(联机分析处理)是数据仓库的主要应用之一,通过设计维度、度量,我们可以构建星型模型或雪花模型,生成数据多维立方体Cube,基于Cube可以做钻取、切片、旋转等多维分析操作. 早在十年前,SQL Server、Oracle 等数据库软件就有OLAP产品,为用户提供关系数据库、多维数据集、可视化报表的整套商业智能方案.

X-RIME: 基于Hadoop的开源大规模社交网络分析工具

- - 并行实验室 | Parallel Labs
文 / 陈冠诚,史巨伟,杨博(IBM中国研究院),杨寅(人民搜索). 随着互联网的快速发展,涌现出了一大批以Facebook,Twitter,人人,微博等为代表的新型社交网站. 这些网站用户数量的迅速增长使得海量的用户数据不断被产生出来,而如何有效地对这些海量的用户数据进行社交网络分析(Social Network Analysis)正成为一个越来越热门的问题.

为你的 Hadoop 集群选择合适的硬件 - 技术翻译 - 开源中国社区

- -
for  Hadoop) Cluster选择硬件. 选择机器配置类型的第一步就是理解你的运维团队已经在管理的硬件类型. 在购买新的硬件设备时,运维团队经常根据一定的观点或者强制需求来选择,并且他们倾向于工作在自己业已熟悉的平台类型上. Hadoop不是唯一的从规模效率上获益的系统. 再一次强调,作为更通用的建议,如果集群是新建立的或者你并不能准确的预估你的极限工作负载,我们建议你选择均衡的硬件类型.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu's home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.