impala

作者: vernwang | 来源:发表于2018-02-24 17:05 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/mvlqxftx.html