【发布时间】:2021-02-03 10:29:38
【问题描述】:
假设我们正在使用这个表:
create table table1 (
ingestion_time DateTime,
ingestion_day Date,
dim1 String,
met1 double, ...
)
engine=ReplicatedMergeTree(...),
partition=(ingestion_day)
order by = (...);
我们有一个用例,我们需要每 15 分钟创建一个新部分,然后对于一个正在运行的窗口(我们称之为更新窗口),可能会删除并重新创建某些 15 分钟的部分。
例如如果更新窗口是15天,我可以在2020-10-20可以选择删除2020-10-15 23:45的部分并重新摄取。
如果我按 15 分钟间隔进行分区,它会很快导致过多的分区问题,因此我正在寻找一种方法来细粒度控制 MergeTree 中的部分合并,我可以在更新中保持 15 分钟的部分完整窗口可能会手动调用以将较旧的部分合并到日常分区中。
关于如何实现这一点的任何建议?我找不到任何可以让我控制部件合并的设置,但我可以使用一些设置来保留已合并的旧部件。
【问题讨论】: