开发手册 欢迎您!
软件开发者资料库

Impala - Architecture

Impala体系结构 - 从概述,环境,体系结构,Shell,查询语言基础,创建数据库,删除数据库,选择数据库,创建表语句,插入语句,选择语句,描述语句,更改表,删除a来学习Impala表,截断表,显示表,创建视图,更改视图,删除视图,按条件排序,按条款分组,具有条款,限制条款,抵消条款,联盟条款,条款,不同运营商。

Impala是一个MPP(大规模并行处理)查询执行引擎,可在Hadoop集群中的多个系统上运行.与传统存储系统不同,impala与其存储引擎分离.它有三个主要组件,即Impala守护进程(Impalad),Impala Statestore和Impala元数据或Metastore.

Impala Architecture

Impala守护进程( Impalad )

Impala守护进程(也称为 impalad )在安装了Impala的每个节点上运行.它接受来自各种接口的查询,如impala shell,hue浏览器等......并处理它们.

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

根据要求,可以将查询提交给专用的 Impalad 或以负载均衡的方式连接到群集中的另一个 Impalad .

Impala State Store

Impala还有另一个名为Impala State store的重要组件,它负责检查每个 Impalad 的运行状况,然后经常将每个Impala守护程序运行状况转发给其他守护程序.这可以在运行Impala服务器或群集中的其他节点的同一节点上运行.

Impala状态存储后台进程的名称是状态存储. Impalad 向Impala状态存储守护程序报告其健康状态,即状态存储.

如果节点发生故障无论如何, Statestore 更新所有其他节点有关此失败的信息,一旦此类通知可用于其他 impalad ,其他任何Impala守护程序都不会向受影响的节点分配任何进一步的查询.

Impala元数据& Meta Store

Impala元数据&元商店是另一个重要组成部分. Impala使用传统的MySQL或PostgreSQL数据库来存储表定义.表格和表格等重要细节.栏目信息&表定义存储在称为元存储的集中式数据库中.

每个Impala节点在本地缓存所有元数据.处理极大量的数据和/或许多分区时,获取特定于表的元数据可能会花费大量时间.因此,本地存储的元数据缓存有助于立即提供此类信息.

更新表定义或表数据时,其他Impala守护程序必须通过在发布之前检索最新元数据来更新其元数据缓存针对相关表的新查询.

查询处理接口

要处理查询,Impala提供了三个接口,如下所示.

  • Impala-shell : 使用Cloudera VM设置Impala后,可以通过在编辑器中键入命令 impala-shell 来启动Impala shell.我们将在接下来的章节中讨论有关Impala shell的更多信息.

  • Hue接口 : 您可以使用Hue浏览器处理Impala查询.在Hue浏览器中,您有Impala查询编辑器,您可以在其中键入和执行impala查询.要访问此编辑器,首先需要登录Hue浏览器.

  • ODBC/JDBC驱动程序 : 与其他数据库一样,Impala提供ODBC/JDBC驱动程序.使用这些驱动程序,您可以通过支持这些驱动程序的编程语言连接到impala,并使用这些编程语言构建使用impala处理查询的应用程序.

查询执行过程

每当用户使用提供的任何接口传递查询时,群集中的其中一个Impalads都会接受该查询.此Impalad被视为该特定查询的协调者.

查询协调器收到查询后,使用表架构验证查询是否合适Hive元商店.稍后,它从HDFS名称节点收集有关执行查询所需数据位置的信息,并将此信息发送到其他impalads以执行查询.

全部其他Impala守护程序读取指定的数据块并处理查询.一旦所有守护进程完成任务,查询协调器就会收集结果并将其传递给用户.