impala

impala 架构

Impala是在Hadoop集群中的许多系统上运行的MPP(大规模并行处理)查询执行引擎。有三个主要组件,即Impala daemon(Impalad),Impala Statestore和Impala元数据或metastore。

image.png

Impala daemon(Impalad)

他运行在每个安装impala的节点上。他接受来自各种接口的查询,比如impala shell 、hue browser等并处理它们。

每当将查询提交到特定节点上的impalad时,该节点充当该查询的‘协调器节点’。Impalad还在其他节点上运行多个查询。接受查询后,Impalad读取和写入数据文件,并通过将工作分发到Impala集群中的其他Impala节点来并行化查询。当查询处理各种Impalad实例时,所有查询都将结果返回到中央协调节点。

Impala 存储状态

负责检查每个Impalad的运行状况,然后经常将每个Impala Daemon运行状况中继给其他守护程序。这可以在运行Impala服务器或群集中的其他节点的同一节点上运行。

Impala State存储守护进程的名称为存储的状态。impalad将其运行状况报告给Impala State 存储守护程序,即存储的状态。

在由于任何原因导致节点故障的情况下,Statestore将更新所有其他节点关于此故障,并且一旦此类通知可用于其他impalad,则其他Impala守护程序不会向受影响的节点分配任何进一步的查询。

Impala元数据和元存储

这是另一个重要组建。Impala使用传统的Mysql或PGSQL数据库来存储表定义。

每个Impala节点在本地缓存所有元数据。当处理大量数据或许多分区时,获得表特定的元数据可能需要大量时间。因此,本地缓存很重要。

当表定义或表数据更新时,其他Impala后台进程必须通过检索最新元数据来更新其元数据缓存,然后发出查询。

查询处理接口

提供三个接口:

  • Impala-shell
  • Hue洁面
  • ODBC/JDBC

查询执行过程

每当用户用户使用提供的任何接口传递查询时,集群 中的Impalads之一就会接受该查询,此Impalad被视为特定查询的协调程序。

Impala Shell

explain 命令返回给定查询的执行计划

profile 命令显示有关最近查询的低级信息。此命令用于查询的诊断和性能调整。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和H...
    时待吾阅读 2,515评论 0 8
  • http://www.baidu.com/link?url=Ux-j4d-TfFW3oio-Um3uRtaTKeH...
    时待吾阅读 22,389评论 2 13
  • Impala是在Hadoop集群中的许多系统上运行的MPP(大规模并行处理)查询执行引擎。 与传统存储系统不同,i...
    起个什么呢称呢阅读 1,274评论 0 3
  • 一、简介 1、概述 Impala是Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式...
    ZX_JS阅读 45,201评论 1 14
  • 今天学习麦凯话术,以前总觉得见面没说说,看了老大的话术之后,明白是准备不够, 学会颜色色彩学基础, 学会并背熟,用...
    胡程翔阅读 399评论 0 0