前言
只有MergeTree引擎支持数据分区,区内排序,合并,去重。
Clickhouse 中最强大的表引擎当属 MergeTree (合并树)引擎及该系列(*MergeTree)中的其他引擎。
MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。相比在插入时不断修改(重写)已存储的数据,这种策略会高效很多。
主要特点:
ReplacingMergeTree:为了数据去重设计的,能够在合并分区的时候删除重复的数据,在某种程度上解决了重复数据的问题
分区操作
1.查看分区数据
select table,name,partition,path from system.parts where table='k_line_15min';
2.手动合并表的某个分区,解决某个分区重复导入数据的问题
optimize TABLE level2_stock.tade_detail PARTITION ID '20211020' final;
- optimize是异步去重,可以使用去重
//合并分区 全表的分区合并
optimize table test_tables final;
- 删除分区:
alter table k_line_1min drop partition 202007;