正在纽约进行的大数据技术会议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
有理由相信,Cloudera的Impala会成为11月30日-12月1日在北京举行的Hadoop与大数据技术大会的焦点之一。
相关推荐
Cloudera是一家提供大数据管理和分析平台的公司,Impala是它们推出的一个开源项目,专门用于解决Hadoop上复杂数据的实时查询问题。描述中提到,Cloudera Impala在多款产品测试中表现出比传统的基于MapReduce的查询...
标题中的“Impala的JDBC编程驱动”指的是Impala(一个开源的、高性能的SQL查询引擎,用于处理存储在Hadoop集群中的数据)与Java应用程序之间的桥梁,即JDBC(Java Database Connectivity)驱动。JDBC驱动是Java...
而Impala是CDH中的一款实时查询服务,能够处理大规模数据集,提供低延迟的SQL查询,与Hive相比,Impala更适合实时分析和交互式查询。 描述中提到的"使用tableau 连接数据源用得到",Tableau是一款强大的数据可视化...
JDBC 是一种标准的 Java API,允许 Java 应用程序与各种数据库进行通信,而 Impala 是一个开源的 MPP(大规模并行处理)SQL 查询引擎,专为 Hadoop 生态系统设计。 现在,让我们详细分析一下压缩包中的各个文件及其...
Impala是Cloudera公司推出的一种开源、分布式SQL查询引擎,设计用于处理大规模数据集。它与Hadoop生态系统紧密集成,可以直接查询存储在HDFS(Hadoop Distributed File System)和HBase上的数据,而无需先将其转换为...
Impala是一个高性能的开源SQL查询引擎,专为存储在Hadoop兼容文件系统中的大数据设计,如HDFS。 - **通过命令行和Hue访问HDFS**:通过Hadoop的命令行界面和基于Web的用户界面Hue访问和操作HDFS中的数据。 - **运行...
Impala是一个现代的开源SQL查询引擎,它从头开始就被设计为充分利用Hadoop的灵活性和可扩展性。其核心设计目标是结合传统分析型数据库的熟悉SQL支持和多用户性能,同时提供Apache Hadoop的可扩展性和灵活性,以及...
Impala提供实时查询和分析存储在Hadoop上的大规模数据,无需将数据移动到其他系统。 5. **使用场景**:这些JDBC驱动主要用于开发需要与Impala交互的Java应用,如数据分析工具、BI报表系统、ETL流程等。通过这些驱动...
Cloudera Impala是一款开源的、MPP(大规模并行处理)查询引擎,专为在Hadoop生态系统中进行实时分析而设计。它与HDFS(Hadoop分布式文件系统)和HBase等存储系统紧密集成,提供了快速的SQL查询能力,适用于大数据...
Impala是Cloudera公司开发的一种开源、分布式、大规模并行处理(MPP)查询引擎,它与Hadoop紧密集成,用于快速分析存储在Hadoop HDFS和HBase中的大数据。这8页的PDF教程将带领我们了解Impala的基础知识,包括其架构...
文档可能提及了Impala与Hive之间的关系和区别,例如Impala提供了与Hive兼容的SQL查询接口,但是为了实现实时查询而优化,直接编译为机器码执行,而Hive则是通过MapReduce来执行SQL查询的。 以上内容涵盖了文档标题...
Cloudera Impala 是一款高性能、可扩展的数据查询引擎,它能够实现在Hadoop集群上对大规模数据集进行实时查询和分析。Impala通过利用分布式计算框架来加速数据处理过程,提供接近SQL数据库的速度,同时支持PB级数据...
8. Impala的主要特点:文档简要介绍了Impala的核心特点,这些特点包括对Hadoop生态系统的深度整合、实时查询能力、标准SQL支持以及高性能的架构设计等,这些都是Impala在大数据查询领域中作为关键优势的体现。...
Impala是由Cloudera开发的开源大数据分析系统,设计用于实时查询存储在Hadoop Distributed File System (HDFS)和HBase上的大型数据集。Impala使用SQL语法,与传统的批处理框架Hive相比,提供了更快速的查询性能。 ...
- Impala:Cloudera开发的一个开源、MPP(Massively Parallel Processing,大规模并行处理)查询引擎,支持实时查询HDFS和HBase中的数据。 - Solr:基于Lucene的全文搜索服务器,允许对存储在Hadoop集群中的大量数据...
6. **Impala**:实时查询引擎,提供低延迟的SQL查询能力。 7. **Kafka**:高吞吐量的分布式消息系统,用于处理实时数据流。 8. **HBase**:NoSQL数据库,支持实时读写操作,适合大规模非结构化数据。 9. **Sqoop*...
- Impala:是Cloudera开发的一个用于处理存储在Hadoop系统上的大量数据的开源查询引擎,它提供了一个类似SQL的查询语言,并能够利用Hadoop生态系统中的数据。 - Solr:是一个开源的搜索引擎,主要用于搜索应用中的...
4. Impala:Impala是Cloudera开发的实时查询引擎,提供低延迟的SQL查询,用于大数据实时分析,与Hive相比,它的查询性能更优。 四、数据仓库的优势 1. 扩展性:Hadoop的数据仓库解决方案能够轻松处理海量数据,通过...
### 基于Hadoop的几大开源类SQL查询系统对比 #### 1. Hive **简介** Hive是一款基于Hadoop的数据仓库工具,能够将结构化的数据文件映射为数据库表,并支持SQL查询功能。它能将SQL语句转换为MapReduce任务执行,为...
在大数据处理领域,Impala是Cloudera公司推出的一款开源、快速、实时的SQL查询引擎,它可以与Hadoop生态系统中的HDFS和Hive等组件无缝集成。JDBC(Java Database Connectivity)是Java语言中用于规范客户端程序如何...