一、前述
Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点 是CDH平台首选的PB级大数据实时查询分析引擎.一般公司选择使用CDH部署集群,可以考虑下Impala。
二、具体原理
优点:
1、基于内存进行计算,能够对PB级数据进行交互式实时查询、分析
2、无需转换为MR,直接读取HDFS数据
3、C++编写,LLVM统一编译运行
4、兼容HiveSQL
5、具有数据仓库的特性,可对hive数据直接做数据分析
6、支持Data Local
7、支持列式存储
8、支持JDBC/ODBC远程访问
缺点:
1、对内存依赖大
2、C++编写 开源?!
3、完全依赖于hive
4、实践过程中 分区超过1w 性能严重下降
5、稳定性不如hive
6. 此外,Impala不支持HiveQL以下特性:
可扩展机制,例如:TRANSFORM、自定义文件格式、自定义SerDes
XML、JSON函数
某些聚合函数:
covar_pop, covar_samp, corr, percentile, percentile_approx, histogram_numeric, collect_set
Impala仅支持:AVG,COUNT,MAX,MIN,SUM
多Distinct查询
UDF、UDAF
以下语句:
ANALYZE TABLE (Impala:COMPUTE STATS)、DESCRIBE COLUMN、DESCRIBE DATABASE、EXPORT TABLE、IMPORT TABLE、SHOW TABLE EXTENDED、SHOW INDEXES、SHOW COLUMNS、
架构: