Cloudera Impala:基于Hadoop的实时查询开源项目

正在纽约进行的大数据技术会议Strata Conference + Hadoop World传来消息,Cloudera发布了实时查询开源项目Impala 1.0 beta版,称比原来基于MapReduce的Hive SQL查询速度提升3~90倍(详情可以参考此文中的“How much faster are Impala queries than Hive ones, really?”部分),而且更加灵活易用。Impala是高角羚的意思,这种羚羊主要分布在东非。

同时,这个项目也将以Cloudera Enterprise RTQ(Real-Time Query)为名进入CDH发行版。可以部署到生产环境的版本将到2013年一季度就绪。不过,据ComputerWorld和MarketWatch的报道,Capgemini金融服务、Karmasphere、MicroStrategy、Pentaho、Qlikview和Tableau等已经在Impala上做了几个月的实际产品测试。

众所周知,Hadoop及HBase、HDFS其实是在Google的MapReduce、BigTable和GFS三篇论文的启发下开发出来的。而近年来Google的基础架构又有了一波新的革新,有媒体称之为后Hadoop时代的三驾马车Caffeine、Pregel和Dremel。当然,这种说法有混淆了辈份之嫌,而且并不十分科学。Pregel是图数据库,据说在MapReduce之外担负了另外20%的数据处理任务,与三大论文之间没有承继关系。项目的创始人之一Grzegorz Malewicz去年来过北京,是Hadoop in China大会的主题演讲嘉宾。今年加盟了Facebook。前几天我在GTalk里询问他的近况,他说正在开发Pregel的开源版本。其实某种程度上,Caffeine是MapReduce的演进,在今年OSDI上大火的Spanner可以视为BigTable的演进,而Dremel则是新出的。

无论如何,有了好东西,开源社区当然会很快跟进,仿照Dremel的Apache Drill项目已经进行一段时间了。而Cloudera在官方博客中也明确承认,“对每个Hadoop用户都具有革命性的技术”Impala是在Dremel的启发下开发的。也就是说,Impala不再使用缓慢的Hive+MapReduce批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。其架构如下图所示。

Impala的架构(来自ZDNet)

Impala采用与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口(Hue Beeswax),这样在使用CDH产品时,批处理和实时查询的平台是统一的。目前支持的文件格式是文本文件和SequenceFiles(可以压缩为Snappy、GZIP和BZIP,前者性能最好)。其他格式如Avro, RCFile, LZO文本和Doug Cutting的Trevni将在正式版中支持。

博客同时还比较了Impala与Dremel。文中说:

Dremel之所以能在大数据上实现交互性的响应速度,是因为使用了两方面的技术:一是对有嵌套结构的嵌套关系型数据采用了全新的列式存储格式,一是分布式可扩展统计算法,能够在几千台机器上并行计算查询结果。

而后一技术是从并行关系型数据库那里借鉴而来的。与2010年Dremel论文只能处理单表查询相比,Impala已经能够支持完整的JOIN操作。此外,除了Trevni列式存储格式之外,Impala还支持广泛的其他格式。也就是说:

Impala+Trevni已经完全实现了Dremel论文中的查询性能,而且在SQL功能上还超过了它。

文章也强调Impala并不会取代传统的数据仓库和MapReduce+Hive。数据仓库在对数量有限的结构化数据集做复杂的分析处理时仍然更加适用,而长期运行的数据转换负载还是MapReduce的用武之地。

有意思的是,这篇官方博文的作者之一是Impala的架构师Marcel Kornacker,在加盟Cloudera之前,是Google F1项目查询引擎的主开发人员,F1项目的任务,正是将AdWords的存储从MySQL转到Spanner。

Impala的主要资源

源代码下载:http://github.com/cloudera/impala

二进制:https://ccp.cloudera.com/display/SUPPORT/Downloads

文档:https://ccp.cloudera.com/display/IMPALA10BETADOC/Cloudera+Impala+1.0+Beta+Documentation

邮件列表:mailto:impala-user@cloudera.org

(责任编辑:蒙遗善)

时间: 2024-09-23 06:05:59

Cloudera Impala:基于Hadoop的实时查询开源项目的相关文章

Hive已为Hadoop带来实时查询机制

Apache Hive是一款以Hadoop为基础打造而成的工具,其专长在于利用类SQL语法对大规模非结构化数据集进行分析,从而帮助现有商务智能及企业分析研究人员对Hadoop内容进行访问.作为由Facebook工程师们开发.受到Apache基金会认可并贡献的开源项目,Hive目前已经在商用环境下的大数据分析领域取得了领先地位. 与Hadoop生态系统中的其它组成部分一样,Hive的发展速度同样非常迅猛.在今天的评测文章中,我们将以0.13为目标--该版本解决了其它前续版本中的一些缺陷.0.13版

FAST:基于FPGA的SDN交换机开源项目

自1983年自由软件运动领袖Richard Stallman提出了GNU计划以来,开源为软件开发带来了创造性的革命和商业成功.SDN如今的快速发展也离不开开源社区的力量,比如NOX.Floodlight.OpenContrail.ONOS等开源项目极大的推动了SDN产业链的发展.但SDN的开源大多都局限在控制器或软件交换机的领域,数据平面的硬件开源项目始终没有迎来一个百花齐放的春天,同时在网络教学研究领域,也没有形成一个有序.规范.有创造力的生态圈,FAST的诞生或许可以提供一个崭新的思路. 他

基于Hadoop的大数据企业前十大集合

超人气Hadoop初创公司前两名 这已经不再是什么秘密了,全球的数据正在以几何数字增长,借助这股数据浪潮在全球范围内迅速成长起来一大批Hadoop的初创型公司.作为Apache的一个开源分支Hadoop几乎已经成为了大数据的代言词.据Gartner估计,目前的Hadoop生态系统市场价值大约为77,000,000: 该研究公司预计,这一数字到2016年将迅速增加到8.13亿美元. 在Hadoop市场快速发展的大环境下,出现了大量的初创型企业来分这将近十亿美元的大馅饼. 1.Platfora 他们

Apache Kylin:基于Hadoop的OLAP引擎

传统上,Hadoop(包括MapReduce,Pig以及Hive)通常用于外部私有OLAP Cube引擎准备数据.如今,Zaloni的客户基于Apache Kylin的OLAP技术实现了实时查询的能力,这些Cube的事实表包含了400亿条以上的原始数据.我们正在帮助客户统一归集来自于多个独立系统的账单数据,并构建OLAP Cube以支持实时分析,这是以前系统所无法实现的.现在,Hadoop集群都可以做到了. 基于Hadoop的分析演化 Hadoop已经从通用计算能力(MapReduce)的分布式

JeeSite(1):推荐一个java开源项目 JeeSite

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50778119 未经博主允许不得转载. 博主地址是:http://blog.csdn.net/freewebsys 1,关于JeeSite http://jeesite.com/ https://github.com/thinkgem/jeesite JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. JeeSite

基于大数据分析系统Hadoop的13个开源工具

Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo!DougCutting根据Google发布的学术论文研究而来.用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序.低成本.高可靠.高扩展.高有效.高容错等特性让Hadoop成为最流行的大数据分析系统,然而其赖以生存的HDFS和MapReduce组件却让其一度陷入困境--批处理的工作方式让其只适用于离线数据处理,在要求实时性的场景下毫无用武之地.因此,

Cloudera将于4月底登陆纽交所,基于Hadoop的商业公司前景何在?

虽然名字里有一个"云",Cloudera并不是一个真正的云公司.它是一个建立在开放源代码Hadoop项目之上的商业产品,hadoop的公司吉祥物是一只可爱的大象.在数据量越来越大的时代(业界常称为"大数据"),Hadoop把数据处理变得越来越方便.  正如我们所看到的,今年第一季度,高科技企业IPO突然风生水起,选择在这样的时机上市,也算顺理成章. 而在2015年英特尔首脑会议上,当Cloudera CEO Tom Reilly被问到公司上市时间表时,他还称,他愿意

怎么开发一个基于spark的web实时查询web程序

问题描述 如标题,公司想开发这样一个小程序,但是现在不知道从何下手,spark又没有提供接口可以在我的web应用程序里面直接调用,那意味着是不是我每次查询的时候,要把sql语句和对应的scala代码一起通过ssh提交到集群的主机上运行spark-shell命令,但是有几个地方想不明白1.这样执行的结果我怎么拿回来显示在web界面上?还是有其他的办法实现?2.我们有个功能点是机器学习所以会用到MLLib,每个流程点都需要提交查询一次,把结果拿一部分回来给用户看,并把结果作为下个流程节点的输入,那我

Cloudera Impala架构设计要点

我们知道,在实时性要求不是很高的应用场景中,比如,月度统计报表生成等,我们基于传统的Hadoop MapReduce来处理海量大数据(包括使用Hive),在各方面表现都还不错,只需要离线处理数据,然后存储结果即可.但是如果在一些实时性要求相对较高的应用场景中,哪怕处理时间能够在原有的基础有大幅度地减少,也能很好地提升用户体验.对于大数据的实时性要求,其实是相对的,比如,传统使用MapReduce计算框架处理PB级别的查询分析请求,可能耗时30分钟甚至更多,但是如果能够使这个延迟大大降低,如3分钟