Cloudera发布Impala实时查询引擎Impala 1.0 beta版,并声称这项革命性的技术能解决Hadoop批处理延迟问题。
AD:2013大数据全球技术峰会低价抢票中
近日,Cloudera发布Impala实时查询引擎Impala 1.0 beta版,并声称这项革命性的技术能解决Hadoop批处理延迟问题(比原来基于MapReduce的Hive SQL查询速度提升3~30倍),开源的Impala还为Hadoop打开了通向关系型数据库和商业智能工具的大门。
Impala是运行于现有Hadoop基础设施上的实时互动SQL查询引擎,可以让Hdadoop DFS文件系统以及Apache HBase数据库中的数据支持实时查询。这意味着Impala为Hadoop打开了通向关系型数据库和传统商业智能工具的大门(后两者基于SQL查询)。
此前,数据仓库架构Apache Hive能够让Hadoop某种程度上支持结构化数据访问,但是Hive采用的方法是将SQL查询转化成MapReduce任务,这导致Hive的性能很差。而且,Hive只能支持不到30%的SQL分析功能,而根据Cloudera的说法,Impala将比Hive出色得多。
“从长远看,Impala将取代Hive,但目前Hive的安装基数很大,关联的应用很多,所以Impala不会很快取代Hive,”Coudera首席执行官Mike Olson说道:“因为支持实时查询,Impala将会非常有吸引力。”
Impala实际上是两个产品。核心部分是Impala实时查询引擎,采用Apache开源授权方式,Hadoop用户可以单独使用这个引擎。同时,Impala项目也将以Cloudera Enterprise RTQ(Real-Time Query)为名进入CDH发行版。可以部署到生产环境的版本将到2013年一季度就绪。Cloudera Enterprise RTQ将作为Cloudera 管理控制台的一部分,负责管理Impala服务器。从这个管理控制台中IT人员能够看到查询的运行情况、运行时间以及活跃用户数等。
借鉴Dremel
Impala可谓是Cloudera的秘密武器,在正式发布之前,Impala项目的开发高度保密,显然,Cloudera希望给大数据业界一个惊喜。Impala有望解决Hadoop系统的两个顽疾:批处理速度慢和数据可访问性差(无法支持分秒级的实时互动查询分析)。Cloudera在官方博客中透露Impala是在Dremel的启发下开发的。Impala不再使用缓慢的 Hive+MapReduce批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。其架构如下图所示。
Impala的架构
商业智能厂商的福音,但不会取代传统数据仓库
Impala对于商业智能厂商来说也许是个福音。过去,商业智能厂商只能采用耗时的手动方式将数据从Hadoop系统中转移出来,或者忍受Hive的延迟和功能局限。在ad hoc查询分析模式下,Impala可以让BI工具直接访问Hadoop中的数据,但Olson表示,在生产环境,关键任务工作负载仍然将会由关系型数据库处理。“一些工作负载将会借Impala进入Hadoop系统,但是如果需要进行结构化数据的高速复杂分析,传统大型数据仓库依然无可替代。传统数据仓库运行的OLAP引擎有很多专用界面,支持数据汇总与聚合。这些都不是SQL语言和Impala能够处理的。(有趣的是,OLAP正受到内存计算技术的威胁,所以人们不禁会问,有朝一日OLAP是否也会被部署到Hadoop系统里)。
能否取代Hive,用户说了算
Cloudera还没有对Imala进行benchmark测试,但是Olson表示Impala未必能达到关系型数据库的性能,但可以肯定的一点是,速度将比Hive快3-30倍,这足以让用户抛弃Hive选择Impala。Cloudera的一些客户目前已经开始测试Impala,其中两家结果即将公布。其中一家公司Monsanto在全球范围内有大量研究科学家协作分析抗病-野草基因组,但是目前这些研究数据分散在很多数据孤岛中,Monsanto希望能够在Hadoop中整合所有数据,并用Impala提供高速SQL查询服务,Monsanto目前正在开发一个覆盖所有研究中心的协作时互动环境。
Cloudera另外一家客户——在线旅游预订网站Expedia使用Cloudera产品管理者超过4PB的数据,目前正在测试通过Implala了解用户的预定内容,谁在预订,哪些航班、租车公司、酒店更受欢迎(或者流失客户)。
Expedia全球商业智能和数据仓库总监Jeff Prather透露:“Impala让我们的Hadoop系统的延迟降低了50%,而且提供了很多前所谓有的业务分析功能。”
Olson鼓励Hadoop社区下载Cloudera Impala beta文档,(GitHub源码下载地址)因为越多人使用、测试,这项技术产品化的速度就会越快。
但是目前还清楚Impala是否能够比Hive更受欢迎,甚至取代Hive。Cloudera的竞争对手们,如Hortonworks和MapR也没有表态是否支持Impala。但是在最大的Hadoop发行商Cloudera的支持下,在如此众多的厂商和用户提高Hadoop的SQL查询速度的期待下,Impala的前景还是一片光明的。