content

  1. Impala简介
  2. Impala系统架构
  3. Impala核心组件
  4. Impala查询执行过程
  5. Impala的优缺点
  6. Impala与Hive的比较

Impala简介

  • Impala是由Cloudera公司开发的新型查询系统
  • Imapla提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据
  • Impala基于MPP (Massively Parallel Processor ,大规模并行处理)
  • Impala最大的卖点就是——快速

Impala系统架构

Impala核心组件

Impalad——负责查询工作的多个进程。Query Planner + Query Coordinator + Query Exec Engine,即查询计划者 + 查询调节者 + 查询执行者

State Store——负责收集分布在集群中的各个Impalad进程的信息(心跳健康 + 资源信息)

CLI——给用户提供命令行工具(Shell);给用户提供其他接口(Hue、JDBC、ODBC)

Impala查询执行过程

图片描述


文字描述

  1. 用户提交查询前,Impala创建一个Impalad进程,该进程向Impala State Store注册申请;State Store产生一个StateStored进程,用于监测所有Impalad进程
  2. 用户通过CLI客户端提交查询到一个Impalad进程,Query Planner进行一系列操作(SQL语句 → 语法树 → 查询块),然后给Query Coordinator
  3. Query Coordinator从MySQL元数据库获取元数据,从HDFS名称节点获取数据地址
  4. Query Coordinator初始化查询任务,分配给所有相关的数据节点
  5. 各个Query Exec Engine之间通过流式交换中间输出(流式就像水管里的水,源源不断但不要求实时),并向Query Coordinator汇聚结果
  6. Query Coordinator汇总结果,返回给CLI客户端

Impala的优缺点

优点

  • Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销
  • Impala省掉了MapReduce作业启动的开销。MapReduce速度很慢(心跳间隔是3秒钟);Impala直接开启进程进行作业调度,速度快了很多
  • Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,而是像Dremel一样借鉴了MPP并行数据库的思想另起炉灶,省掉不必要的shuffle、sort等开销
  • Impala用**C++**实现,做了很多有针对性的硬件优化,例如使用SSE指令。
  • Impala使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。

缺点

  • Catalogd守护进程和StateStored监控进程都是单点服务。如果Catalogd或Statestored挂掉,所有的Impalad进程就成了一座座孤岛
  • web信息不持久,Impala重启则信息丢失
  • 通过Hive操作MetaStore需要手动同步Impala。
  • 底层存储不能区分用户
  • MPP架构要求节点配置均衡,否则最慢的节点会拖慢整个执行速度(短板效应

Impala与Hive的比较

相同点

  1. 都把数据存储与HDFS和HBase中
  2. 都使用相同的元数据(MetaData)
  3. 对SQL语句的处理极为相似

不同点

  1. Hive适合长时间的批处理分析;Impala适合实时交互查询
  2. Hive依赖MapReduce计算框架;Impala直接抛弃MapReduce而直接开启进程
  3. Hive在内存不够时会使用外存;Impala不会使用外存(这也是Impala查询时受到限制的原因)

总结

  1. Impala和Hive之间不是你死我活的关系,实际应用中往往是配合使用(和传统SQL与NoSQL的关系类似——配合而非取代
  2. 一种思路是:先使用Hive进行数据转换处理;再使用Impala在结果集的基础上进行快速的数据分析(批处理 + 实时)

【Impala】基于Hive的快速大数据查询引擎——Impala知识点总结相关推荐

  1. 全方位测评Hive、SparkSQL、Presto 等七个大数据查询引擎,最快的竟是……| 程序员硬核测评...

    现在大数据组件非常多,众说不一,那么每个企业在不同的使用场景里究竟应该使用哪个引擎呢?易观Spark实战营团队选取了Hive.SparkSQL.Presto.Impala.HAWQ.ClickHous ...

  2. 开源大数据查询分析引擎

    引言 大数据查询分析是云计算中核心问题之一,自从Google在2006年之前的几篇论文奠定云计算领域基础,尤其是GFS.Map-Reduce.Bigtable被称为云计算底层技术三大基石.GFS.Ma ...

  3. 大数据查询分析引擎比较

    1.常见方案比较 首先,Hive/SparkSQL 在数据仓库的领域应用是比较广泛的,但是因为查询时延很难能够满足毫秒到秒级的要求,同时因为是离线计算,数据时效性也比较差. 其次,ES (Elasti ...

  4. 对应chd5.14的spark_GitHub - shixiaopengql/BigData-News: 基于Spark2.2新闻网大数据实时系统项目...

    基于Spark2.2新闻网大数据实时系统项目 1. 说明 2.环境配置 2.1 CDH-5.14.2 (安装步骤可参考地址),关于版本是按实际操作, CDH的版本兼容性很好. Service hado ...

  5. 基于新型存储的大数据存储管理

    基于新型存储的大数据存储管理 金培权1,2 1. 中国科学技术大学计算机科学与技术学院,安徽 合肥 230027 2. 中国科学院电磁空间信息重点实验室,安徽 合肥 230027 摘要:如何高效地存储 ...

  6. Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路

    Hadoop+hive+flask+echarts大数据可视化项目(四) --------------hive环境搭建与系统数据的分析思路---------------- 关注过Hadoop+hive ...

  7. Hadoop+hive+flask+echarts大数据可视化之系统数据收集

    Hadoop+hive+flask+echarts大数据可视化项目(一) --------------系统数据收集---------------- 谈到大数据的项目,一般以数据可视化为主体,收集大数据 ...

  8. Hadoop+hive+flask+echarts大数据可视化项目之flask结合echarts前后端结合显示hive分析结果

    Hadoop+hive+flask+echarts大数据可视化项目(五) ------flask与echarts前后端结合显示hive分析结果------- 关注过Hadoop+hive+flask+ ...

  9. 基于星环科技大数据平台 辽宁城市建设职业技术学院打造智慧校园

    当今世界,发展职业教育已经成为各国应对危机.促进就业.迎接新工业革命挑战的共同行动.同时数字化技术的快速发展,改变着学习和教育,将成为职业教育系统整体改革与创新发展的战略选择. 星环科技与北京点为信息 ...

  10. 基于云原生的大数据产品前端实践 | 第七期图文直播文字回放

     点击"蓝字"关注我们 2月5日晚,智领云第七次社群图文技术直播如约而至.本次直播由智领云Web开发经理陈磊为大家分享了<基于云原生的大数据产品前端实践>主题内容,其中 ...

最新文章

  1. Mac下sublime text2 解决中文乱码
  2. 人工智能的2020:泡沫破灭?还是最后的狂欢?
  3. Be a new gentleman
  4. mybatis中ResultSetHandler的设计与实现
  5. 职称计算机必考和选考,2017职称计算机考试选择题「附答案」
  6. STM32速度---网页讲解
  7. java 释放指针_C库释放来自Rust的指针
  8. 北京大学2019年数学分析考研试题
  9. python运维是什么_python运维方面一般用来做什么
  10. 实验:学习GET注入
  11. python colorbar刻度_python-如何添加Matplotlib Colorbar刻度
  12. IO操作(Java版)
  13. oracle数据库从右截取,SQLServer数据库之SQLServer right函数 从右侧截取指定位数的字符串...
  14. 蓝牙音响加拿大IC认证知多少
  15. 电脑快捷键快速关机方法,电脑如何快速关机
  16. kali WiFi密码破解分享
  17. 4-逻辑控制器:Logic Controller
  18. Java进阶篇设计模式之十三——观察者模式和空对象模式
  19. 乐行天下激光雷达SDK介绍
  20. 【负荷预测、电价预测】基于神经网络的负荷预测和价格预测(Matlab代码实现)

热门文章

  1. 2016年蓝桥杯B组C/C++省赛试题-漏网之渔
  2. go语言中遍历中文出现乱码
  3. C语言:字符串中各类字符数的统计
  4. 超六类网线和六类网线的区别—Vecloud
  5. 8类网线利弊_八类网线你用过吗?与六类、七类等网线有啥区别?
  6. VBS实现添加网络打印机
  7. ASO学习笔记整理——关键字优化步骤
  8. 离散数学2:命题逻辑的推理
  9. Zint生成二维码及png操作
  10. 金融二叉树模型-给期权定价