首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据分析查询引擎Impala

大数据分析查询引擎Impala

作者头像
凹谷
发布2020-04-11 10:39:51
2.4K0
发布2020-04-11 10:39:51
举报

天下武功,唯快不破。

一、Impala概述

准实时分析系统Impala,提供SQL语义,能够为存储在Hadoop的HDFS和Hbase中的PB级大数据提供快速、交互式的SQL查询。传统仓库查询工具Hive底层是基于MapReduce引擎处理,是一个批处理过程,难以满足快速响应的查询,而Impala是基于MPP的查询系统,最大特点就是快速。

二、Impala组件构成

Impala由以下的组件组成:

1、Clients:Hue、ODBC clients、JDBC clients和Impala Shell都可以与Impala进行交互,这些接口都可以用在Impala的数据查询以及对Impala的管理。

2、Hive Metastore: 存储Impala可访问数据的元数据。例如,这些元数据可以让Impala知道哪些数据库以及数据库的结构是可以访问的,当你创建、删除、修改数据库对象或者加载数据到数据表里面,相关的元数据变化会自动通过广播的形式通知所有的Impala节点,这个通知过程由catalog service完成。

3、Cloudera Impala: Impala的进程运行在各个数据节点(Datanode)上面。每一个Impala的实例都可以从Impala client端接收查询,进而产生执行计划、协调执行任务。数据查询分布在各个Impala节点上,这些节点作为worker,并行执行查询。

4、HBase和HDFS: 存储用于查询的数据。

三、Impala 系统架构

Impala整体分为两部分 StateStore 和 Impalad。

StateStore是Impala的子服务,用来监控集群中各个节点的健康状况,提供节点注册,错误检测等功能。

Impalad是运行在集群每个节点的守护进程,主要有两个作用,一个是协调Client提交的Query的执行,给其他Impalad分配任务,收集其他Impalad的执行结果进行汇总,二是这个Impalad也会执行其他Impalad给分配的任务,执行这部分任务主要就是对本地HDFS和Hbase里的部分数据进行操作。

四、Impala 查询处理流程

1、三类客户端可与Impala进行交互:

基于驱动程序客户端ODBC driver 和 JDBC driver

Hue接口,可以通过Hue Beeswax接口来与Impala进行交互

Impala shell 命令行

2、Impala使用Hive Metastore来存在元数据,Impala会在HDFS集群的DataNode上启动进程,协调位于集群上的多个Impala进程(即Impalad)执行查询,在Impala架构中,每个Impala节点都可以接收来自客户端的查询请求,然后负责解析查询,生产查询计划,并进行优化,协调查询请求在多个impalad上并行处理,最终有负责接收请求的impala节点汇总结果,响应客户端。

五、Impala和Hive的关系和对比

1、Hive适合长时间的批处理查询分析,而Impala适合于实时交互式SQL查询。

2、Hive是基于MapReduce进行并行计算,而Impala把整个查询分析成一个执行计划树,而不是一连串的MapReduce任务,他使用与商用并行关系数据库MPP中类似的查询机制。

3、Impala速度快于Hive,原因在于Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销,Impala省掉了MapReduce作业启动的开销。

4、Impala适合用来处理输出数据适中或比较小的且对响应时间有要求的查询,而对于大数据量的批处理任务,MapReduce依然是更好的选择。

5、Impala可以与Hive配合使用,比如先使用Hive对数据进行转换处理,然后使用Impala对处理后的数据进行快速数据分析。

六、Impala与Presto 比较

共同点就是吃内存,当然在内存充足的情况下,并且有规模适当的集群,性能应该会更可观,Impala性能稍领先于presto,但是presto在数据源支持上非常丰富,包括hive、图数据库、传统关系型数据库、Redis等。

七、impala presto SparkSql性能测试对比

impala与presto性能相当,SparkSql逊色不少

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档