交互式SQL查询引擎——Impala

一、什么是Impala

Impala是Cloudera公司推出的,提供对HDFS、HBase数据的高性能、低延迟的交互式SQL查询功能,与Hive(底层使用MR引擎)相比,具备更快的处理速度。

1、组件特性

(1)基于内存进行计算,能够对PB级数据进行交互式实时查询、分析

(2)无需通过MR,直接与HDFS和HBase交互

(3)兼容HiveSQL,支持Hive基本查询操作

(4)具有数据仓库特性,可对hive数据直接做数据分析

(5)支持Data Local数据本地化,减少网络数据传输

(6)基于C++编写,LLVM统一编译运行

2、组织架构

Statestore Daemon:负责跟踪分布在集群中各个Impalad进程的健康状态及位置信息,通过创建多个线程来处理Impalad的注册订阅与各Impalad保持心跳连接;

Catalog Daemon(CLI):提供给用户查询使用的命令行工具,同时提供Hue、JDBC、ODBC使用接口;

Impala Daemon(Impalad):负责接收客户端提交的查询任务的执行,与HDFS的数据节点运行在同一节点上。

Impala的查询处理流程:

服务器启动后,Impalad通过注册&订阅与StateStore保持心跳。首先Impala节点将自己的状态信息汇报给StateStore,StateStore实时监控Impalad是否发生故障。然后Catalog与Hive进行通信,拉取Hive中MetaStore的元数据信息,并广播到每个状态良好的Impalad节点上,使各节点上的元数据保持一致。最后,当Client提交SQL请求时,直接作用在Impalad。

Client提交更新操作,当Impalad执行完毕后,Impalad向StateStore发送元数据,StateStore将接收到的元数据推送给Catalog,Catalog将所有接收到的元数据进行汇总后,广播给每个Impalad,之后发送给MetaStore。

3、Hive与Impala对比

Hive与Impala使用相同的存储数据池,都将数据存储于HDFS,HBase,区别于Hive执行查询操作依赖于MR框架,Impala可以直接与数据进行交互。

 

Hive

Impala

使用场景

批处理

实时交互

计算方式

依赖于MR框架

Impalad直接执行

资源使用情况

内存+外存

只用内存

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值