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;
相关推荐
yitian_hm1 小时前
深入理解 Kafka Producer 核心源码:消息发送全链路解析
分布式·kafka·linq
Dylan~~~11 小时前
深度解析Cassandra:分布式数据库的王者之路
数据库·分布式
传感器与混合集成电路15 小时前
面向储气库注采井的分布式光纤监测技术
分布式
ZTLJQ15 小时前
任务调度的艺术:Python分布式任务系统完全解析
开发语言·分布式·python
被摘下的星星15 小时前
Hadoop伪分布式集群搭建实验原理概要
大数据·hadoop·分布式
无名-CODING18 小时前
Java 爬虫高级技术:反反爬策略与分布式爬虫实战
java·分布式·爬虫
8Qi819 小时前
Redis哨兵模式(Sentinel)深度解析
java·数据库·redis·分布式·缓存·sentinel
爱学习的程序媛19 小时前
JWT签发全指南:从原理到安全实践
分布式·安全·web安全·安全架构·jwt签发·无状态认证
wanhengidc21 小时前
徐州服务器租用的优势
大数据·运维·服务器·分布式·智能手机
wanzehongsheng21 小时前
分布式光伏电站的技术优势与智能运维实践:以WZ HELIO²双轴跟踪系统为例
运维·分布式