分布式DDL查询(ON CLUSTER条件)

默认情况下,CREATEDROPALTERRENAME查询仅影响执行它们的当前服务器。 在集群设置中,可以使用ON CLUSTER子句以分布式方式运行此类查询。

例如,以下查询在cluster中的每个主机上创建all_hits Distributed表:

  1. CREATE TABLE IF NOT EXISTS all_hits ON CLUSTER cluster (p Date, i Int32) ENGINE = Distributed(cluster, default, hits)

为了正确运行这些查询,每个主机必须具有相同的集群定义(为了简化同步配置,您可以使用ZooKeeper替换)。 他们还必须连接到ZooKeeper服务器。

本地版本的查询最终会在集群中的每台主机上执行,即使某些主机当前不可用。

警告

在单个主机内执行查询的顺序是有保证的。