0%

clickhouse的ReplacingMergeTree引擎使用介绍

clickhouse的ReplacingMergeTree引擎使用介绍

该引擎和 MergeTree 的不同之处在于它会删除排序键值相同的重复项。

数据的去重只会在数据合并期间进行。合并会在后台一个不确定的时间进行,因此你无法预先作出计划。有一些数据可能仍未被处理。尽管你可以调用 OPTIMIZE 语句发起计划外的合并,但请不要依靠它,因为 OPTIMIZE 语句会引发对数据的大量读写。

因此,ReplacingMergeTree 适用于在后台清除重复的数据以节省空间,但是它不保证没有重复的数据出现。

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = ReplacingMergeTree([ver])
[PARTITION BY expr]
[ORDER BY expr]
[PRIMARY KEY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]

该引擎会以ORDER BY 维度进行合并, 保留ver版本的那条数据,默认为最大最新版本.

ver —支持. UInt*, Date, DateTime , DateTime64

https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/replacingmergetree/

原文博主: 热衷开源的宝藏Boy
原文链接: http://www.fangzengye.com/article/1dcd0ce657ff81a3fa5f495e879450a2
版权声明: 自由转载-非商用-禁止演绎-保持署名| CC BY-NC-ND 3.0

微信扫码加入我的星球联系我

评论区