安装使用Cloudera Impala

安装与使用Cloudera Impala

Cloudera Impala提供快速的、交互式的SQL查询方式,直接基于Apache Hadoop存储在HDFS或HBase中的数据进行查询。除了使用与Apache Hive相同的统一存储平台外,Impala也使用了与Hive相同的元数据、SQL语法(Hive SQL)、ODBC驱动和用户接口(Cloudera Impala查询UI使用Hue)。这样就提供了一个用于实时或批量的查询的熟悉的、统一的平台。

Cloudera Impala是一个查询大数据的工具。Impala不会取代例如hive这样基于MapReduce的批处理框架。Hive和其他的基于MapReduce的批处理框架最适合用于长时间运行的批处理作业,如执行批量的抽取、转换、载入类的作业。

Impala 优点

Impala提供了

  • 数据科学家、分析人员熟悉的SQL接口
  • 交互式查询Apache Hadoop中的大数据
  • 可同时进行大数据处理、分析的单一系统,用户可以避免为了分析进行昂贵的建模、ETL操作

Cloudera Impala与CDH如何协同工作

下图显示了在cloudera环境中Impala的定位

Impala由以下组件组成:

  • 客户端 - 包括Hue、ODBC客户端、JDBC客户端、可与Impala交互的Impala Shell。这些接口通常用于执行查询或完成管理任务,例如连接到Impala
  • Hive Metastore - 存储可用于Impala数据的信息。例如,Impala通过metastore了解哪些数据库可用以及这些数据库的结构。当你使用Impala SQL语句,执行创建、删除修改schema对象、加载数据到表中、以及执行其他类似操作时,相关元数据的变化,通过Impala 1.2引入的单独的catalog服务,自动广播到所有Impala节点。
  • Cloudera Impala - 本程序运行于数据节点,用于协调和执行查询。每一个Impala的实例可以获取、解析以及协调Impala客户端传来的查询。查询是被分布到各Impala节点间,这些节点作为workers,并行执行查询片段。
  • HBase and HDFS - 所查询数据的存储位置

Impala执行查询的处理过程如下:

  1. 用户程序通过ODBC或JDBC发送SQL给Impala,其中Impala提供了标准的查询接口。用户程序可能连接到集群中任意impalad进程,这一impalad进程作为这一查询的协调器。
  2. Impala解析、分析这一查询,确定什么任务由集群中哪一impalad实例执行,执行计划最优。
  3. Impalad实例会访问本地HDFS和HBase服务,获取数据。
  4. 每一个impalad都返回数据给协调器impalad,并由它发送结果给客户端。

Impala主要特性

Impala提供以下支持:

  • Hive查询语言(HiveQL)中最通用的SQL-92功能,包括SELECT、连接(join)、以及聚合函数
  • HDFS and HBase 存储,包括:  
    • HDFS文件格式:Text文件, SequenceFile, RCFile, Avro文件以及Parquet。
    • 压缩编解码: Snappy, GZIP, Deflate, BZIP。
  • 通用Hive接口,包括:  
    • JDBC驱动
    • ODBC驱动
    • Hue Beeswax和新Cloudera Impala Query UI
  • Impala命令行接口
  • Kerberos认证
posted @ 2015-02-10 12:15  史红星-shihongxing  阅读(1130)  评论(0编辑  收藏  举报