Impala查询详解第一篇——简介

本文介绍了Impala作为一种MPP查询引擎的特性,它依赖于HDFS等第三方存储,并通过MPP思想实现高效查询。文章详细阐述了Impala的架构,从SQL提交到查询结果的生成过程,包括查询解析、执行计划生成、任务调度和子任务执行等步骤,并提供了一个典型的OLAP查询实例进行分析。
摘要由CSDN通过智能技术生成

Impala的定位是一种新型的MPP查询引擎,但是它又不是典型的MPP类型的SQL引擎,提到MPP数据库首先想到的可能是GreenPlum,它的每一个节点完全独立,节点直接不共享数据,节点之间的信息传递全都通过网络实现。而Impala可以说是一个MPP计算引擎,它需要处理的数据存储在HDFS、Hbase或者Kudu之上,这些存储引擎都是独立于Impala的,可以称之为第三方存储引擎,Impala使用MPP的思想实现了计算。

对于每一个Impala执行的SQL,可能同时在多个工作节点上运行计算,每一个节点执行查询任务的一部分,然后通过网络通信传递给下一个子任务,中间数据尽可能的不落地(写磁盘,无论是本地还是第三方存储引擎)。之所以Impala能够提供较高性能的查询服务,最根本的原因就在于这两点:中间数据不落地;任务尽可能并行化。当然,还有一些实现细节也是非常重要的,本文就从一个SQL的执行过程来详细介绍Impala是如何处理查询的。

名词解释

  • Impala:一个SQL查询引擎
  • HDFS:分布式数据存储引擎
  • catalogd:impala系统中的元数据服务节点
  • statestored:impala系统中的消息同步节点
  • impalad:impala系统中的任务执行节点
  • coordinator:impalad节点中的协调者模块,对外提供查询接口,包括beeswax和HiveServer2接口
  • backend:impalad节点中任务执行模块,提供执行任务的接口
  • BE:impalad代码上划分的frontend部分,使用JAV
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值