Impala介绍 2015-07-27 20:00

介绍

Impala是Cloudera公司开发的SQL on Hadoop产品。此项目目前已经开源,但代码没有进入开源社区进行管理,仍然是Cloudera在主导此项目。

此传统的Hive over MapReduce不同。Impala底层不使用MapReduce,而是采用自已实现的执行引擎。

Impala可以在较短的时间内获取查询结果。这时间粒度为粉分钟内。所以Impala适合交互式查询分析。而传统的Hive over MapReduce因执行时间较长,适配批处理查询。

Impala与Hive并不是替换关系。一个是上一条说的,使用场景不同。一个用于交互式分析,另一个用于批处理查询。还有就是Impala需要使用Hive的元数据,所以Impala依赖于Hive的Metastore。

安装

使用二进制包安装Impala,与Hadoop 2.4.1配合使用。但没有成功。Hadoop 2.4.1使用的Protobuf库的版本为2.5,而Impala使用的Profobuf库的版本为2.4a。二者版本不匹配,impalad启动失败。

失败错误为:

Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Message missing required fields: callId, status; Host Details : local host is: "ctrl/192.168.1.10"; destination host is: "data01":9000;
E0727 16:14:37.509138 21362 impala-server.cc:212] Aborting Impala Server startup due to improper configuration

使用Hadoop的protobuf库替掉impala的lib目录下的其他版本protobuf,仍然没有解决问题。

怀疑是Impala版本代码中,已经基于老版本protobuf的API进行开发。需要基于新版本protobuf,重新编译impala源代码。

参考文档

  1. Impala入门笔记
Tags: #Impala #SQLonHadoop    Post on Hadoop