Impala 1、Impala理论

1、Impala简介

  • Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。
  • 基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点
  • 是CDH平台首选的PB级大数据实时查询分析引擎

   官网:http://www.cloudera.com/products/apache-hadoop/impala.html

      http://www.impala.io/index.html

  下面是在基于单用户和多用户查询的时候,不同的查询分析器所使用的时间:

    

2、Impala的特点

  • 1、基于内存进行计算,能够对PB级数据进行交互式实时查询、分析
  • 2、无需转换为MR,直接读取HDFS数据
  • 3、C++编写,LLVM统一编译运行
  • 4、兼容HiveSQL
  • 5、具有数据仓库的特性,可对hive数据直接做数据分析
  • 6、支持Data Local
  • 7、支持列式存储
  • 8、支持JDBC/ODBC远程访问

    (相比于Hive,Impala不需要启动MapReduce直接同HDFS或HBase进行交互)

3、Impala 劣势

  • 1、对内存依赖大
  • 2、C++编写 开源?!
  • 3、完全依赖于hive
  • 4、实践过程中 分区超过1w 性能严重下下降
  • 5、稳定性不如hive

4、Impala安装

  • 安装方式:
    – 1、ClouderaManager
    – 2、手动安装(待续)

      

      可以使用CDH安装,方便快捷,而且管理起来更加方便,下面是CDH安装以后的CDH管理界面:

      

5、Impala核心组件 

  • Statestore Daemon
    • 实例*1 - statestored
      – 负责收集分布在集群中各个impalad进程的资源信息、各节点健康状况,同步节点信息.
      – 负责query的调度
  • Catalog Daemon
    • 实例*1 - catalogd
      – 分发表的元数据信息到各个impalad中
      – 接收来自statestore的所有请求
  • Impala Daemon
    • 实例*N – impalad
      – 接收client、hue、jdbc或者odbc请求、Query执行并返回给中心协调节点
      – 子节点上的守护进程,负责向statestore保持通信,汇报工作

6、Impala架构

    

    (1) 由Client发送一个执行SQL到任意一台Impalad的Query Planner
    (2) 由Query Planner 把SQL发向Query Coordinator
    (3) 由Query Coordinator 来调度分配任务到Impalad的所有节点
    (4) 各个Impalad节点的Query Executor 进行执行SQL工作
    (5) 执行SQL结束以后,将结果返回给Query Coordinator
    (6) 再由Query Coordinator 将结果返回给Client

posted @ 2016-03-21 22:45  Bodi  阅读(2282)  评论(0编辑  收藏  举报