在impala here的官方文档中,状态存储组件具有以下语句:
如果在状态存储关闭时发出DDL语句,则访问DDL创建的新对象的查询将失败。
如果我错了,请纠正我,但是通过Impala SQL进行的元数据更改会从Impala Catalog Service传播到Impala Daemon。那么,如果状态存储处于关闭状态,为什么对通过DDL生成的新对象的查询会失败?
答案 0 :(得分:1)
您所理解的只是一个小小的更正,文档如下所述
称为目录服务的Impala组件中继元数据 从Impala SQL语句更改为以下内容中的所有Impala守护程序 集群。
因此,基本上,它通过StateStore将元数据更改中继到Impala守护程序。您还将在文档
中看到以下内容因为状态存储区的目的是在出现问题时提供帮助,并且 向协调员广播元数据
因此,任何目录服务都会通过Statestore服务将任何元数据更改中继到Impala守护程序。
简而言之,当Statestore启动并运行时,Impala守护程序和Statestore始终处于连接状态。 Statestore负责
监视所有Impala守护程序并让其他Impala守护程序 知道在其中一个守护程序上是否发现任何健康问题(例如守护程序关闭)。
它在查询时将元数据更改广播到Impala守护程序 在无效元数据期间执行。
希望有帮助!