Hudi提交归档#

OushuDB 的 HORC 和 Hudi 表支持提交归档 (Archive) 功能。提交归档功能旨在优化 Hudi 表随时间积累的提交历史,通过定期归档提交记录,有助于减少存储占用、提高查询性能。

触发方法#

对 HORC 和 Hudi 表进行 SELECT / UPDATE / DELETE 操作时,如果未归档的提交达到一定数量,将尝试触发自动提交归档。

对 HORC 和 Hudi 表进行 INSERT 操作时,如果距离上次通过 INSERT 操作触发自动提交归档已经过去一定时间,将尝试触发自动提交归档。

用户通过显式调用 oushu_toolkit.hudi_archive 函数,可以手动触发提交归档。

CREATE EXTENSION hornet;
SELECT oushu_toolkit.hudi_archive('table_name'::regclass);

参数#

以下 GUC 会改变自动提交归档功能的行为:

enable_autoarchive

设置为 false 时,不会自动触发提交归档。默认为 true 。

hoodie_archive_seconds_retained

自动触发提交归档时,未超过一定时间的提交不会被归档。默认为 5 分钟。

hoodie_archive_keep_min_commits

自动触发提交归档时,最新的一定数量的提交不会被归档。默认为 30 个。

hoodie_archive_keep_max_commits

未归档的提交达到一定数量后,才会自动触发提交归档。默认为 50 个。

hoodie_archive_seconds_for_insert

两次通过 INSERT 方式自动触发提交归档之间具有一定的最小时间间隔。默认为 5 分钟。设置为 0 将不会通过 INSERT 方式自动触发提交归档。

手动提交归档不受上述 GUC 影响。