clickhouse建表语法

建表语法

建本地表到cluster_5_shards_2_replica集群所有节点

基于集群可以使用 on cluster cluster_name 语法,只需要在一个节点上执行SQL就可同步到所有节点

CREATE TABLE testdb.test_clsuter_b ON CLUSTER cluster_5_shards_2_replica
(
    `id` String,
    `create_time` datetime
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/test_clsuter_b ','{replica}')
PARTITION BY toYYYYMM(create_time)
ORDER BY id;

如上边建表语句所示,这些参数可以包含大括号中的替换。替换值取自配置文件的宏部分。

ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{layer}-{shard}/table_name', '{replica}', ver)

<macros>
    <layer>05</layer>
    <shard>02</shard>
    <replica>example05-02-1</replica>
</macros>

建Distributed分布式表到集群所有节点

CREATE TABLE test_clsuter_all_b on cluster cluster_5_shards_2_replica
(
    `id` String,
    `create_time` datetime
)
ENGINE = Distributed('cluster_5_shards_2_replica','testdb','test_clsuter_b', rand())

创建完成后,在任意节点向该表 test_clsuter_all_b 插入数据,即可在各个节点的该视图中查看全部数据,也可在各自节点数据中查看被分配到的部分数据(主要是将数据随机分给了两个分片),各分片中的副本数据是一致的

参考文档
https://www.cnblogs.com/MrYang-11-GetKnow/p/16106648.html
https://www.cnblogs.com/zhoujinyi/p/14890319.html
https://blog.csdn.net/yy8623977/article/details/118718639

posted @ 2022-08-29 17:43  whiteY  阅读(1387)  评论(0)    收藏  举报