clickhouse 分布式表创建、增加、更新、删除、查询

创建分布式表

sql 复制代码
--先创建本地表 设置自动过期时间3天
CREATE TABLE IF NOT EXISTS ck_database.ck_databaseon  cluster  default(cluster name)
(
    `table_id` String COMMENT 'id',
    `item_id` String COMMENT '业务id',
    `desc` Int64 COMMENT '描述',
    `time` DateTime DEFAULT now() COMMENT '数据写入时间,TTL 用'
)
ENGINE = MergeTree
ORDER BY (table_id, item_id)
TTL time + toIntervalDay(3)
SETTINGS index_granularity = 8192

--再创建分布式表
CREATE TABLE IF NOT EXISTS ck_database.ck_table_all on  cluster default(cluster name)
(
    `table_id` String COMMENT 'id',
    `item_id` String COMMENT '业务id',
    `desc` Int64 COMMENT '描述',
    `time` DateTime DEFAULT now() COMMENT '数据写入时间,TTL 用'
)
ENGINE = Distributed('default', 'ck_database', 'ck_database', sipHash64(assumeNotNull(table_id)))

删除分布式表

删除ck表,先删除分布式表,再删除本地表

sql 复制代码
DROP TABLE ck_dadasource.ck_table_all ON CLUSTER default(ck_cluster_name); 
DROP TABLE ck_dadasource.ck_table_local ON CLUSTER default(ck_cluster_name);

修改分布式表

通过local表来更新 同时指定上集群名称;如果通过all来更新则不支持会报错

sql 复制代码
alter table ck_table_local on cluster default(ck_cluster_name)
update is_deleted = 2
where redis_key in (123,456,789)

分布式表添加字段

sql 复制代码
alter table city_local ON CLUSTER ck_cluster_name add column history Int32;

同时支持指定在某个字段后面添加字段:

sql 复制代码
alter table city_local ON CLUSTER ck_cluster_name add column history Int32 after city_code;
sql 复制代码
-- 删除字段【可行】
alter table test_db.city_local ON CLUSTER ck_cluster_name drop column history;
相关推荐
断手当码农6 小时前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者7 小时前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀8 小时前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Asher05098 小时前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
凉凉的知识库8 小时前
Go中的零值与空值,你搞懂了么?
分布式·面试·go
?Anita Zhang9 小时前
联邦学习实战:如何在分布式场景下构建隐私保护机器学习模型
人工智能·分布式·机器学习
tony3659 小时前
pytorch分布式训练解释
人工智能·pytorch·分布式
2501_933329559 小时前
技术深度拆解:Infoseek媒体发布系统的分布式架构与自动化实现
分布式·架构·媒体
星辰_mya1 天前
消息队列遇到Producer发送慢
分布式·kafka
lhxsir1 天前
kafka数据异常记录
分布式·kafka