大数据Impala升级SQL 与MapReduce齐肩

继广泛的部署Hadoop分布后,Cloudera公司最近在纽约市举行的Strata + Hadoop World做了一件令人惊讶的事情。没有召唤“老派”的数据库和BI专业人员(即大部分的企业开发人员和DBA人员)转移到Hadoop,而是它公布了一个新产品的测试版Impala。Impala是包括Apache Hadoop在内的Cloudera分布(CDH)4.1的一部分,是一个在Hadoop集群上运行的本地SQL查询引擎,提供原始HDFS数据和 HBase数据库的简单查询访问。

以批量化为中心的假设已经破灭,MapReduce的处理必须使用大数据查询的公司,可以说是Hadoop的最坚定倡导者。 企业技能集的概念已经过时,而且已经一去不复返了,现在命令行是主流。SQL、BI工具和报告是现在的主要大数据技术应用。Cloudera仅仅只是冲击了你的想法吗?

似曾相识?

也许你对此持怀疑态度。毕竟,随着Hadoop发展的一阵时间,Hive提供了一个SQL查询的抽象概念和BI工具的兼容性,那么,为什么Impala有重要的意义呢?事实上,这也是Cloudera的困扰。

Cloudera公司的CEO Mike Olson ,告诉了我关于Impala的技术细节。以下是详细内容:虽然Impal实际上是Hive和ODBC驱动程序的API兼容,但它仍然是一个完全不同的“野兽”。就像其它的Hadoop任务一样,Hive仅仅将SQL查询转换/编译转换为基于Java的MapReduce代码,然后在批处理模式下运行,并在 MapReduce里增加了一个步骤,就是用Impala取代 MapReduce。

纯粹的SQL

Impala是一种在Hadoop集群上运行的本地、分布式SQL查询引擎,并取代了Hadoop的MapReduce引擎。你仍然可以得到 Hadoop的分布式文件系统。 你仍然可以得到其物理的分布式体系结构。 你仍然有可能获得局域数据,因为分布在各节点的数据并没有改变,唯一改变的是查询方式。

BI工具来袭

不管Impala的创新程度如何,其生态系统已经建立了。近日,我采访了Pentaho公司共同创始人Rich Daley,和它的业务发展EVP Eddie White。他们告诉我,Pentaho已经与Cloudera紧密合作,以确保Pentaho的商业智能工具可以利用Impala完美地工作。

Pentaho公司向我展示了他们运行在Impala上的工具,并与Hive进行了并行比较。 在演示中,通过一个Pentaho的报告工具,同时在Hive命令行和在Impala上运行一个特定的SQL查询。总裁为我演示了如何从Impala获得数据,进行了一系列的报告和数据可视化任务,并给我创建了一份完整的报告。当他完成时,Hive版本的查询(运行在同一个集群的相同的数据)仍在运行。