lance.LanceDataset.cleanup_old_versions(older_than: timedelta | None = None, *, delete_unverified: bool = False, error_if_tagged_old_versions: bool = True) CleanupStats

清理数据集的旧版本。

某些数据集变更(如覆盖操作)会遗留未被最新版本引用的数据。这些旧数据会被保留,以便将数据集回滚到之前的版本。

该方法将移除旧版本及其引用的所有数据文件。 一旦清理任务执行完毕,您将无法检出或恢复这些旧版本。

Parameters:
older_than : timedelta, optional

仅早于此版本的记录将被删除。如果未指定,默认保留两周内的记录。

delete_unverified : bool, default False

事务失败后遗留的文件可能看起来像是正在进行中的操作(例如追加新数据)的一部分,这些文件只有在至少7天后才会被删除。如果delete_unverified为True,则无论文件存在多久都会被删除。

只有在您能确保当前没有其他进程正在处理此数据集时,才应将此设置为True。否则数据集可能会进入损坏状态。

error_if_tagged_old_versions : bool, default True

某些版本可能关联了标签。带标签的版本不会被清理,无论它们存在多久。如果该参数设为True(默认值),当任何带标签版本匹配参数时会抛出异常。否则,带标签版本将被静默忽略,仅清理未加标签的版本。