【Impala】基于Hive的快速大数据查询引擎——Impala知识点总结
content
- Impala简介
- Impala系统架构
- Impala核心组件
- Impala查询执行过程
- Impala的优缺点
- 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查询执行过程
▍图片描述
▍文字描述
- 用户提交查询前,Impala创建一个Impalad进程,该进程向Impala State Store注册申请;State Store产生一个StateStored进程,用于监测所有Impalad进程
- 用户通过CLI客户端提交查询到一个Impalad进程,
Query Planner
进行一系列操作(SQL语句 → 语法树 → 查询块),然后给Query Coordinator
Query Coordinator
从MySQL元数据库获取元数据,从HDFS名称节点获取数据地址Query Coordinator
初始化查询任务,分配给所有相关的数据节点- 各个
Query Exec Engine
之间通过流式交换中间输出(流式就像水管里的水,源源不断但不要求实时),并向Query Coordinator
汇聚结果 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的比较
▍相同点
- 都把数据存储与HDFS和HBase中
- 都使用相同的元数据(MetaData)
- 对SQL语句的处理极为相似
▍不同点
- Hive适合长时间的批处理分析;Impala适合实时交互查询
- Hive依赖MapReduce计算框架;Impala直接抛弃MapReduce而直接开启进程
- Hive在内存不够时会使用外存;Impala不会使用外存(这也是Impala查询时受到限制的原因)
▍总结
- Impala和Hive之间不是你死我活的关系,实际应用中往往是配合使用(和传统SQL与NoSQL的关系类似——配合而非取代)
- 一种思路是:先使用Hive进行数据转换处理;再使用Impala在结果集的基础上进行快速的数据分析(批处理 + 实时)
【Impala】基于Hive的快速大数据查询引擎——Impala知识点总结相关推荐
- 全方位测评Hive、SparkSQL、Presto 等七个大数据查询引擎,最快的竟是……| 程序员硬核测评...
现在大数据组件非常多,众说不一,那么每个企业在不同的使用场景里究竟应该使用哪个引擎呢?易观Spark实战营团队选取了Hive.SparkSQL.Presto.Impala.HAWQ.ClickHous ...
- 开源大数据查询分析引擎
引言 大数据查询分析是云计算中核心问题之一,自从Google在2006年之前的几篇论文奠定云计算领域基础,尤其是GFS.Map-Reduce.Bigtable被称为云计算底层技术三大基石.GFS.Ma ...
- 大数据查询分析引擎比较
1.常见方案比较 首先,Hive/SparkSQL 在数据仓库的领域应用是比较广泛的,但是因为查询时延很难能够满足毫秒到秒级的要求,同时因为是离线计算,数据时效性也比较差. 其次,ES (Elasti ...
- 对应chd5.14的spark_GitHub - shixiaopengql/BigData-News: 基于Spark2.2新闻网大数据实时系统项目...
基于Spark2.2新闻网大数据实时系统项目 1. 说明 2.环境配置 2.1 CDH-5.14.2 (安装步骤可参考地址),关于版本是按实际操作, CDH的版本兼容性很好. Service hado ...
- 基于新型存储的大数据存储管理
基于新型存储的大数据存储管理 金培权1,2 1. 中国科学技术大学计算机科学与技术学院,安徽 合肥 230027 2. 中国科学院电磁空间信息重点实验室,安徽 合肥 230027 摘要:如何高效地存储 ...
- Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路
Hadoop+hive+flask+echarts大数据可视化项目(四) --------------hive环境搭建与系统数据的分析思路---------------- 关注过Hadoop+hive ...
- Hadoop+hive+flask+echarts大数据可视化之系统数据收集
Hadoop+hive+flask+echarts大数据可视化项目(一) --------------系统数据收集---------------- 谈到大数据的项目,一般以数据可视化为主体,收集大数据 ...
- Hadoop+hive+flask+echarts大数据可视化项目之flask结合echarts前后端结合显示hive分析结果
Hadoop+hive+flask+echarts大数据可视化项目(五) ------flask与echarts前后端结合显示hive分析结果------- 关注过Hadoop+hive+flask+ ...
- 基于星环科技大数据平台 辽宁城市建设职业技术学院打造智慧校园
当今世界,发展职业教育已经成为各国应对危机.促进就业.迎接新工业革命挑战的共同行动.同时数字化技术的快速发展,改变着学习和教育,将成为职业教育系统整体改革与创新发展的战略选择. 星环科技与北京点为信息 ...
- 基于云原生的大数据产品前端实践 | 第七期图文直播文字回放
点击"蓝字"关注我们 2月5日晚,智领云第七次社群图文技术直播如约而至.本次直播由智领云Web开发经理陈磊为大家分享了<基于云原生的大数据产品前端实践>主题内容,其中 ...
最新文章
- Mac下sublime text2 解决中文乱码
- 人工智能的2020:泡沫破灭?还是最后的狂欢?
- Be a new gentleman
- mybatis中ResultSetHandler的设计与实现
- 职称计算机必考和选考,2017职称计算机考试选择题「附答案」
- STM32速度---网页讲解
- java 释放指针_C库释放来自Rust的指针
- 北京大学2019年数学分析考研试题
- python运维是什么_python运维方面一般用来做什么
- 实验:学习GET注入
- python colorbar刻度_python-如何添加Matplotlib Colorbar刻度
- IO操作(Java版)
- oracle数据库从右截取,SQLServer数据库之SQLServer right函数 从右侧截取指定位数的字符串...
- 蓝牙音响加拿大IC认证知多少
- 电脑快捷键快速关机方法,电脑如何快速关机
- kali WiFi密码破解分享
- 4-逻辑控制器:Logic Controller
- Java进阶篇设计模式之十三——观察者模式和空对象模式
- 乐行天下激光雷达SDK介绍
- 【负荷预测、电价预测】基于神经网络的负荷预测和价格预测(Matlab代码实现)