Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的 Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。其架构如图 1所示,Impala主要由Impalad, State Store和CLI组成

            

  Impalad: 与DataNode运行在同一节点上,由Impalad进程表示,它接收客户端的查询请求(接收查询请求的Impalad为 Coordinator,Coordinator通过JNI调用java前端解释SQL查询语句,生成查询计划树,再通过调度器把执行计划分发给具有相应 数据的其它Impalad进行执行),读写数据,并行执行查询,并把结果通过网络流式的传送回给Coordinator,由Coordinator返回给 客户端。同时Impalad也与State Store保持连接,用于确定哪个Impalad是健康和可以接受新的工作。在Impalad中启动三个ThriftServer: beeswax_server(连接客户端),hs2_server(借用Hive元数据), be_server(Impalad内部使用)和一个ImpalaServer服务。

  Impala State Store: 跟踪集群中的Impalad的健康状态及位置信息,由statestored进程表示,它通过创建多个线程来处理Impalad的注册订阅和与各 Impalad保持心跳连接,各Impalad都会缓存一份State Store中的信息,当State Store离线后(Impalad发现State Store处于离线时,会进入recovery模式,反复注册,当State Store重新加入集群后,自动恢复正常,更新缓存数据)因为Impalad有State Store的缓存仍然可以工作,但会因为有些Impalad失效了,而已缓存数据无法更新,导致把执行计划分配给了失效的Impalad,导致查询失败。

  CLI: 提供给用户查询使用的命令行工具(Impala Shell使用python实现),同时Impala还提供了Hue,JDBC, ODBC使用接口。

  Impala三大进程由Impalad,statestored,catalogd

最新文章

  1. Event,delegate,handler之间的关系
  2. Java表格的简单使用一
  3. http协议 幂等性的理解
  4. C语言标准库函数(网络上copy的)
  5. [转]:C#的ToString如何格式化字符串
  6. 深入理解CSS变形transform(3d)
  7. treeview递归加载
  8. 小结JS中的OOP(中)
  9. ASP.NET文件上传
  10. WdatePicker.js 日期时间插件
  11. 剖析C语言中a=a+++++a的无聊问题
  12. 在IT公司,project manager 基本上和秘书,助理什么的差不多
  13. [置顶] 使用严苛模式打破Android4.0以上平台应用中UI主线程的“独断专行”
  14. tp框架设置 mysql数据库的端口号
  15. 配置tomcat及如何自动编译jsp文件
  16. YiShop_网上商城系统多少钱
  17. 安卓banner图片轮播
  18. 容器中的诊断与分析2——live diagnosis——perf
  19. python六十八课——网络编程之UDP协议
  20. 大数据技术之_19_Spark学习_04_Spark Streaming 应用解析 + Spark Streaming 概述、运行、解析 + DStream 的输入、转换、输出 + 优化

热门文章

  1. 网络载入数据和解析JSON格式数据案例之空气质量监測应用
  2. strchr函数的实现而不是使用
  3. POJ 2436 二进制枚举
  4. SQL 2008 还原 SQL2005 备份文件 不成功的解决方法
  5. 传说用户发来的请求是在JIoEndpoint的accept函数中接收的,是tomact与外界交互的分界点
  6. Linux 桌面的 Dock 类程序
  7. 实现人脸识别性别之路---网页上的video标签
  8. <QT障碍之路>QApplication:No such file or directory
  9. Vue_小练习
  10. Xcode Git 客户端 + GitBucket 服务器 使用整合归纳