ClickHouse使用(八)

本文介绍了ClickHouse中的CollapsingMergeTree和VersionedCollapsingMergeTree引擎,它们用于数据去重。CollapsingMergeTree需要按顺序写入数据,通过sign字段进行增删操作;而VersionedCollapsingMergeTree则允许不按顺序写入,通过版本号ver进行数据折叠。这两种引擎在数据处理上有不同的应用场景和限制,且都是MergeTree家族的一部分,包括AggregatingMergeTree、SummingMergeTree等。


1 CollapsingMergeTree

以增代删

1.1使用方式?

如果sign 标记为1 标识这行有效数据,标记为-1标识需要被删除
Create table collpase_table(
id String,
code Int32,
create_time DateTime,
sign Int8
)Engine = CollapsingMergeTree(sign)
Partition by toYYYYMM(create_time)
order by id
(1)折叠数据并不是实时触发,在分区合并时触发
(2)只有相同分区内的数据才能被折叠
(3)限制:对于写入数据的顺序有严格要求,要使sign=1和sign=-1相邻,只能严格按照顺序写入,所以这是一个单线程模型

2 VersionedCollapsingMergeTree

2.1 CollapsingMergeTree的升级版,对数据写入顺序没有要求,按照版本号来排序需要折叠的数据,实现不需要严格控制写入顺序的

Create table collpase_table(
id String,
code Int32,
create_time DateTime,
sign Int8
ver UInt8
)Engine = VersionedCollapsingMergeTree(sign,ver)
Partition by toYYYYMM(create_time)
order by id

3 各种 MergeTree之间的关系

(1)MergeTree-》

(1.1)Aggregating MergeTree , Collapsing MergeTree

Summing MergeTree ,VersionedCollapsing MergeTree

ReplacingMergeTree Graphite MergeTree

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值