clickhouse建表

建表

建表语句

bash 复制代码
CREATE TABLE learning.t_web_hits
(
timestamp DateTime,
user_id UInt64,
url String,
os String,
browser String,
duration_ms UInt32
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(timestamp)
ORDER BY (timestamp, user_id);

用时间做的分区(YYYYMM)

表结构位置

建表完成后在 /var/lib/clickhouse/data 中就能看到 tablename 和 数据存放的具体位置

bash 复制代码
t_web_hits -> ../../store/dea/dead2f17-de72-4497-8244-4851c975d4db

写入数据

sql 复制代码
insert into learning.t_web_hits values 
(now(),1001,'/page/a','ios','Safair',1500),
(now(),1002,'/page/b','windows','Safair',3000),
(now(),1001,'/page/c','ios','Safair',5000);

查看数据

分区文件

在看看文件夹

powershell 复制代码
10:25 202605_1_1_0

这个是分区文件

我再插入一条 其他时间段的数据

sql 复制代码
insert into learning.t_web_hits values 
('2027-08-25',1001,'/page/a','ios','Safair',1500);
powershell 复制代码
202605_1_1_0
202708_2_2_0

可以看到多了一个 202708_2_2_0 的分区

分区合并

再执行一下

sql 复制代码
insert into learning.t_web_hits values 
(now(),1001,'/page/c','ios','Safair',5000);

可以看到多了一个分区 ,而不是在 202605_1_1_0 插入

以后ch会把这2个分区合并

也可以手动做合并

powershell 复制代码
optimize table learning.t_web_hits;

合并后 多出一个 202605_1_3_1 文件夹

以后clickhouse读取202605的数据就找这个文件夹

后台定期会清除旧的文件夹

相关推荐
dkgee6 天前
记录一次Clickhouse持续占用CPU超过100%问题分析
clickhouse·hermes
想念是会呼吸的鱼6 天前
【ClickHouse 常用 SQL 语句整理】
sql·clickhouse
SelectDB技术团队7 天前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
ClickHouseDB11 天前
基于 OpenTelemetry 的意式浓缩咖啡机可观测性实践
clickhouse
l1t13 天前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
SelectDB技术团队16 天前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
java_logo17 天前
Docker 部署 ClickHouse Server:轻松搭建列式 OLAP 分析数据库平台
数据库·clickhouse·docker·私有化部署·olap·列式数据库·轩辕镜像
西风未眠21 天前
ClickHouse数据库引擎引起的数据丢失
数据库·clickhouse·故障
李兆龙的博客24 天前
从一到无穷大 #86:ClickHouse 收购 RunReveal——可观测性竞争进入宏观调控阶段
clickhouse
Gain_chance1 个月前
大数据毕业设计实战|Data Insight Platform:用 FastAPI + ClickHouse 打造低门槛全链路数据洞察平台
大数据·数据库·clickhouse·毕业设计·fastapi