Hudi提交归档 =============== OushuDB 的 HORC 和 Hudi 表支持提交归档 (Archive) 功能。提交归档功能旨在优化 Hudi 表随时间积累的提交历史,通过定期归档提交记录,有助于减少存储占用、提高查询性能。 ------------------ 触发方法 ------------------ 对 HORC 和 Hudi 表进行 SELECT / UPDATE / DELETE 操作时,如果未归档的提交达到一定数量,将尝试触发自动提交归档。 对 HORC 和 Hudi 表进行 INSERT 操作时,如果距离上次通过 INSERT 操作触发自动提交归档已经过去一定时间,将尝试触发自动提交归档。 用户通过显式调用 ``oushu_toolkit.hudi_archive`` 函数,可以手动触发提交归档。 .. code:: sql 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 影响。