删除未使用的数据文件与真空

您可以删除数据文件不再引用的三角洲表保留阈值以上的运行真空命令在桌子上。运行真空定期对成本和遵从性很重要,因为以下注意事项:

  • 删除未使用的数据文件云存储成本降低。

  • 数据文件被真空可能包含已修改或删除记录。永久删除这些文件从云存储确保这些记录不再访问。

数据文件的默认保留阈值后运行真空是7天。要改变这种行为,明白了配置数据保留时间旅行的查询

一些三角洲湖功能使用元数据文件将数据标记为删除而不是重写数据文件。您可以使用REORG应用(清洗)提交这些删除和重写数据文件。看到清洗仅元数据删除重写力数据

重要的

  • 在砖运行时的13.2及以上,真空语义与统一目录管理表浅克隆不同于其他三角洲表。看到真空和统一目录浅克隆

  • 真空从目录中删除所有文件不是由三角洲湖,忽略目录开始_。如果你储存额外的元数据是结构化流检查站在三角洲表目录,使用目录名称等_checkpoints

  • 查询表版本的能力超过保存期丢失后运行真空

  • 日志文件后自动删除和异步检查点操作和不受真空。虽然日志文件的默认的保持期是30天,运行真空桌子上删除时间旅行所需的数据文件。

请注意

当启用磁盘缓存时,一个集群可能包含数据从拼花已被删除的文件真空。因此,它可能会查询以前的表的数据版本的文件已经被删除。重新启动集群将删除缓存数据。看到配置磁盘高速缓存

例如语法真空

真空eventsTable——真空不是必需的文件版本比默认的保存期真空“/数据/事件”在基于路径表——真空文件真空δ' /数据/事件/ '真空δ' /数据/事件/ '保留One hundred.小时——真空所需的文件不超过100小时的旧版本真空eventsTable运行——做排练要删除文件的列表

火花的SQL语法细节,请参阅真空

看到三角洲湖API文档Scala的Java、Python语法细节。

清洗仅元数据删除重写力数据

REORG命令提供了应用(清洗)语法改写数据应用软删除。软删除不重写或删除数据文件的数据,而是使用元数据文件表明,一些数据值已经改变了。看到REORG表

在三角洲湖创建软删除的操作包括以下:

  • 删除列,列映射启用。

  • 删除行删除向量启用。

  • 任何Photon-enabled集群数据的修改删除向量时启用。

启用软删除后,旧的数据可能仍在表的当前文件即使在数据已经被删除或更新。身体从表中删除这些数据,请完成以下步骤:

  1. 运行REORG应用(清洗)。这样做之后,旧的数据表中不再存在当前的文件,但它仍然是在旧的文件用于时间旅行。

  2. 运行真空删除这些旧文件。

REORG创建一个新版本的表操作完成。历史上所有表版本之前,这笔交易是指旧的数据文件。从概念上讲,这是相似的优化命令,数据文件重写尽管当前表中的数据版本保持一致。

重要的

数据文件时只删除文件过期的根据真空保存期。这意味着真空必须完成后延迟REORG这旧的文件已经过期。的停留时间真空可以减少缩短所需的等待时间,减少成本的最大历史留存。

集群真空需要什么尺寸的?

选择正确的集群大小真空,它有助于理解操作发生在两个阶段:

  1. 这份工作首先使用所有可用的执行器节点并行在源目录列表文件。这个列表是相对于目前所有文件中引用三角洲事务日志来识别文件被删除。司机都闲置在这段时间。

  2. 司机然后问题删除命令对每个文件被删除。文件删除是司机才操作,这意味着所有操作发生在单个节点,而工人空闲节点。

优化成本和性能,砖推荐以下,特别是对于长期真空工作:

  • 在一个集群上运行真空与伸缩设置为1 - 4工人,每个工人在8核。

  • 8 - 32之间选择一个司机与核心。提高司机的大小以避免出现内存不足(伯父)错误。

如果真空操作是定期删除超过1万文件或接管30分钟的处理时间,您可能想要提高司机的大小或工人的数量。

如果你发现经济放缓出现在识别文件被删除,添加更多的工作节点。如果经济放缓出现删除命令运行时,试着增加司机的大小。

你应该运行真空的频率?

砖建议定期运行真空所有表,以减少多余的云数据存储成本。真空的默认保留阈值是7天。设定更高的门槛让你获得更大的历史表,但增加了数据文件存储的数量,因此,从云提供商带来更大的存储成本。

为什么你不能真空和保留低阈值δ桌子吗?

警告

建议您设置一个保留间隔至少7天,因为旧的快照和未提交的文件仍然可以使用并发读者或作者。如果真空清理活动文件,并发的读者可能会失败,或者更糟的是,表时可以损坏真空删除文件,尚未提交。你必须选择一个时间间隔较长时间最长的并发事务和最长的时期,任何流可以落后于最新更新表。

三角洲湖有一个安全检查防止你运行一个危险真空命令。如果你确定没有这个表上执行的操作,需要更长的时间比保留你计划指定的时间间隔,你可以关掉这个安全检查通过设置引发配置属性spark.databricks.delta.retentionDurationCheck.enabled

审计信息

真空致力于三角洲事务日志包含审计信息。您可以查询审计事件使用描述历史