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的数据就找这个文件夹

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

相关推荐
xhtdj2 天前
智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻
人工智能·clickhouse·安全·动态规划
xhtdj4 天前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
Taerge01105 天前
Doris, StarRocks, ClickHouse, Hologres, ES 对比,选型建议
大数据·clickhouse·elasticsearch
海南java第二人7 天前
ClickHouse 表引擎完全指南:从 MergeTree 到集成引擎的选型实践
clickhouse
lhyzws8 天前
CENTOS上的网络安全工具(三十七)SPARK on CLICKHOUSE
clickhouse
海南java第二人9 天前
用户行为漏斗分析是什么?ClickHouse 如何轻松实现?
clickhouse
时空无限10 天前
clickhouse 数据损坏无法启动问题修复
clickhouse
阿演11 天前
我把这个桌面数据库工具又升级了一轮:现在支持 ClickHouse,还能可视化建表和改表了
数据库·clickhouse·ai编程·数据库连接工具
海南java第二人12 天前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
海南java第二人13 天前
ClickHouse 主键索引详解:不是唯一标识,而是排序规则
clickhouse