创建本地表
CREATE TABLE my_city_local ON CLUSTER ck_cluster_name ( `fdate` Int64, `city_code` Int32, `city_name` String, `total_cnt` Int64 ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/my_city_local ', '{replica}') PARTITION BY fdate ORDER BY (fdate, city_code, city_name) SETTINGS index_granularity = 8192;
在这个示例中:
ON CLUSTER ck_cluster_name
表示在名为ck_cluster_name
的集群上创建表。ReplicatedMergeTree
是存储引擎,它接受两个参数:ZooKeeper中表的路径和副本名称。{shard}
和{replica}
是宏替换占位符,它们会被替换为配置文件中的实际值。
创建分布式表
CREATE TABLE IF NOT EXISTS my_city_all ON CLUSTER ck_cluster_name AS my_city_local
ENGINE = Distributed(ck_cluster_name, test_db, my_city_local, fdate);
通过以上步骤,您可以在ClickHouse中创建分布式表,并利用其强大的分布式查询能力来处理大规模数据。