Impala-CDH550 译| Impala介绍
Posted 程序猿的搞笑生活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Impala-CDH550 译| Impala介绍相关的知识,希望对你有一定的参考价值。
Impala介绍
Impala提供了可以直接在HADOOP的HDFS、HBASE或者Amazon的S3上快速地,交互地SQL查询。并且为了在使用统一存储平台上保持一致,Impala与HIVE一样使用相同的元数据、SQL语法(HIVE SQL)、ODBC和用户接口(在HUE上的查询界面)。这样就会提供一个熟悉的、统一的平台去进行实时的或者批量的查询。
Impala是大数据查询的一个工具。Impala不是要去替换基于MapReduce的批处理框架,比如Hive。Hive这些基于MapReduce的批处理框架最适合长时间的处理批量作业,比如涉及到提取、转换、加载(ETL)这种类型作业的批处理。
Impala的优势
Impala可以提供:
• 相似的数据科学和分析人员已经熟知的SQL接口
• 能够在Hadoop中查询大量数据(big data)的能力
• 在集群环境中分布式查询。(Distributed queries in acluster environment, for convenient scaling and to make use of cost-effectivecommodity hardware.)
• 有不需要复制、导入导出步骤就能分享不同组件之间数据文件的能力。例如:Pig写操作,Hive做转化,Impala查询。Impala可以读写Hive表,允许Impala做简单的数据交换,用于分析HIVE产生的数据。
• 大数据的处理和分析使用单一系统,这样,用户就可以避免复杂的ETL过程和建模过程。(Single system for bigdata processing and analytics, so customers can avoid costly modeling and ETLjust for analytics.)
Impala在CDH上是如何工作的
下图为在Cloudera环境中,Impala的定位:
Impala的解决方案由以下几个部分组成:
• 客户端 – Hue、ODBC客户端,JDBC客户端和Impala Shell等实体可以和Impala进行交互。这些接口通畅用于发出查询请求,或者完成管理任务,例如连接到Impala。
• Hive Metastore – 存储着Impala可用数据的信息。例如,Impala通过元数据可以得知哪些数据库时可用的,这些数据库的结构是什么样的。当你通过Impala的sql语句(声明)去创建、删除、修改对象结构、加载数据到表中等操作,元数据相关的改变会通过专门的目录服务(Catalog)自动地广播给所有的Impala节点。这个服务在Impala 1.2版本时引进。
• Impala – 是运行在DataNode上的进程,用于协调和执行SQL。每一个Impala实例都可以接受、计划和协调从客户端发来的查询。
• HBASE和HDFS – 是被查询的数据存储。
下面是Impala对于查询执行的处理方式:
Impala提供了标准的查询接口,应用通过ODBC或者JDBC发送SQL查询到Impala上。在集群中,应用可以连接任意一个Impalad进程,那么这个impalad进行就变成了这个查询的协调者。
Impala验证SQL的语法正确性并分析和决定集群中的哪些Impalad实例需要执行哪些任务。
HDFS和HBASE等服务,给本地的impalad访问并提供数据。
每个Impalad实例都会给协调的那个Impalad返回数据,并且这个协调的Impalad再给客户端返回最终的结果数据。
Impala的主要特点
Impala提供的支持有:
• HIVE查询语言(HiveQL)最常见的SQL-92特性,包括select、join和聚合函数等。
• HDFS、HBASE和Amazon Simple StorageSystem (S3),包括:
- HDFS文件格式:Text、Parquet、Avro、SequenceFile和RCFile的限定。
- 压缩格式:Snappy、GZIP、Deflate和BZIP。
• 通用的数据访问接口包括:
- JDBC驱动。
- ODBC驱动。
- Hue提供的Impala查询界面。
• impala-shell 控制台命令接口。
• Kerberos认证。
以上是关于Impala-CDH550 译| Impala介绍的主要内容,如果未能解决你的问题,请参考以下文章