Cloudera impala 介绍
Cloudera impala? 直接在你的HDFS或HBase上提供快速、交互式SQL查询.impala 除了使用统一的存储平台,还是用了相同的 metadata ,SQL 语法 (Hive SQL),ODBC driver 和 user interface Hue Beeswax (Hive)。这些为批处理和实时查询提供了一个统一的常见的平台。
Cloudera Impala是一个有效的查询大叔据的工具,impala 并不替换建立在MapReduce的批处理框架如 Hive。Hive和其它建立在MapReduce上的框架适合需要长时间运行的批处理任务。例如那些批量提取,转化,加载(ETL)类型的job。
架构:
下面这张图表示了impala在Cloudera生态环境中的定位:
整个impala的解决方案由以下组件组成:
Impala State Store -这个状态存储用于协调所有运行环境中的impalad实例 --类似namenode
impalad -这个进程运行在Datanodes 用于相应impala shell发过来的查询。impalad接受数据库连接层的请求,并对任务进行调度优化。impalad会定期更新它的name和address到Impala State Store。 --类似datanode
Impala shell - 这个工具用来管理任务和执行查询,例如:连接到impalad,基于odbc提供了一套标准化的查询接口。
impala通过下面几种步骤来执行查询
通过Hue Beeswax, the Impala shell, ODBC提交Hive sql
impala的分布式查询引擎会创建查询并在集群上将其分配
为了达到最佳性能,每个节点会直接读取本地的HDFS和HBase
impala的主要特点:
impala提供以下支持:
支持大多Hive提供的基于SQL-92的查询,包括select,join和一些统计函数
支持的文件格式是文本文件和SequenceFiles(可以压缩为Snappy、GZIP和BZIP,前者性能最好,据官方博客称其他格式如Avro, RCFile, LZO文本和Doug Cutting的Trevni将在正式版中支持)
支持常见的Hive接口:如ODBC driver,Hue Beeswax(用户接口)
impala命令行接口
支持Kerberos 安全认证
impala能带给我们什么:
impala提供了:
数据分析师已经熟悉的SQL接口
以交互的方式在Hadoop上处理大叔据
为数据分析而生,避免用户仅仅为了数据分析而花费建模和ETL的成本
from:https://ccp.cloudera.com/display/IMPALA10BETADOC/Introducing+Cloudera+Impala