如果在impala状态存储关闭时执行DDL,为什么Impala查询失败?

时间:2019-07-16 07:22:42

标签: hadoop impala cloudera-cdh

在impala here的官方文档中,状态存储组件具有以下语句:

  

如果在状态存储关闭时发出DDL语句,则访问DDL创建的新对象的查询将失败。

如果我错了,请纠正我,但是通过Impala SQL进行的元数据更改会从Impala Catalog Service传播到Impala Daemon。那么,如果状态存储处于关闭状态,为什么对通过DDL生成的新对象的查询会失败?

1 个答案:

答案 0 :(得分:1)

您所理解的只是一个小小的更正,文档如下所述

  

称为目录服务的Impala组件中继元数据   从Impala SQL语句更改为以下内容中的所有Impala守护程序   集群。

因此,基本上,它通过StateStore将元数据更改中继到Impala守护程序。您还将在文档

中看到以下内容
  

因为状态存储区的目的是在出现问题时提供帮助,并且   向协调员广播元数据

因此,任何目录服务都会通过Statestore服务将任何元数据更改中继到Impala守护程序。

简而言之,当Statestore启动并运行时,Impala守护程序和Statestore始终处于连接状态。 Statestore负责

  • 监视所有Impala守护程序并让其他Impala守护程序 知道在其中一个守护程序上是否发现任何健康问题(例如守护程序关闭)。

  • 它在查询时将元数据更改广播到Impala守护程序 在无效元数据期间执行。

希望有帮助!