分布式复制表实践

创建复制表

use replic_db;
CREATE TABLE retest on cluster cluster_2shards_2replicas(
    x UInt32
) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/{database}/retest', '{replica}') 
ORDER BY x;

创建分布式表

use replic_db;
CREATE TABLE   retest_all_1  
on cluster cluster_2shards_2replicas AS replic_db.retest ENGINE = Distributed(cluster_2shards_2replicas, replic_db, retest, rand());

添加默认的zk路径

vim /etc/clickhouse-server/conf/config.xml
<default_replica_path>/clickhouse/tables/{shard}/{database}/{table}</default_replica_path>
<default_replica_name>{replica}</default_replica_name>

在创建ReplicatedMergeTree 不需要指定参数

CREATE TABLE retest_def on cluster cluster_2shards_2replicas(
x UInt32
) ENGINE = ReplicatedMergeTree
ORDER BY x;

CREATE TABLE gl_test.events on cluster cluster_2shards_2replicas
(
    `event` String,
    `distinct_id` String,
    `time` DateTime,
    `pagetitle` String,
    `pagecontroller` String,
    `http_referer` String,
    `keyword` String,
    `latest_scene` String,
    `scene` String,
    `productdbpid` String,
    `url_path` String
)
ENGINE = ReplicatedMergeTree
PARTITION BY toYYYYMMDD(time)
ORDER BY time

CREATE TABLE gl_test.events_all
on cluster cluster_2shards_2replicas
 AS gl_test.events 
ENGINE = Distributed('cluster_2shards_2replicas', 'gl_test', 'events', rand()) 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容