通过压缩小型文件、应用读取优化以及删除不再引用的过时文件,在Delta表上运行表维护,以保持其长期健康。
你可以在 Fabric 门户中作为临时操作(湖屋表维护操作)运行维护,或者通过笔记本、管道或 REST API 作为计划和编排过程运行。 Fabric Data Factory 流水线包含专用的 Lakehouse 维护活动(预览),可在 Lakehouse Delta 表上运行 OPTIMIZE(可选 V-order)和 VACUUM,作为计划流水线工作流的一部分。 本文重点介绍临时门户工作流。
有关跨工作负荷维护指南(包括 SQL 分析端点、Power BI Direct Lake 和数据仓库用户的建议),请参阅 Cross-workload 表维护和优化。 关于代码优先的维护模式,请参见 Delta Lake 表优化和 V-order 以及用 Fabric REST API 管理湖屋。
从湖屋进行运行桌维护
湖屋中的表格维护仅适用于Delta表格。 不支持使用 Parquet、ORC、AVRO 或 CSV 等格式的旧 Hive 表。
在 “运行维护命令 ”对话框中,根据目标选择选项。
一般做法是,在主要引入或更新活动之后运行维护,或者在观察许多小文件和读取性能较慢时运行维护。
注意
使用流水线进行协调:对于定期维护作业,请使用 Fabric 数据工厂中的 Lakehouse 维护活动(预览)。 它提供了相同的选项(带可选的 V-order 的 OPTIMIZE、VACUUM),并通过依赖、触发器和参数与其他流水线步骤集成——因此你可以通过数据加载进行维护,并在同一流水线内进行 Refresh SQL 端点活动 。
从你的Fabric账户中,导航到目标湖屋。
在Lakehouse资源管理器中,在 表格下右键点击目标表(或使用省略号)。
选择“维护”菜单项。
在 “运行维护命令 ”对话框中,选择维护选项:
选择 “打开 ”选项可将小型 Parquet 文件压缩到较大的文件中,以便更高效地读取。
如果选择 开启 ,您还可以选择 “应用V订单 ”复选框。 当你选择这个选项时,Fabric会将V顺序(优化排序、编码和压缩)作为优化的一部分应用。
注意
V-order对平均写入时间影响大约15%。 它还可以将压缩率提高多达 50%。
选择 “打开 ”选项以运行 Delta Lake
VACUUM命令并删除早于保留阈值的未引用文件。 有关保留行为和安全详细信息,请参阅 真空保留设置。选择 “开启” 选项可将事务合并为 Parquet 文件,并删除多余的删除向量文件,清理空间并优化表读取。
选择“立即运行”以执行表维护作业。
在以下任一位置跟踪作业执行:
- “通知 ”窗格(Fabric 门户标头中的钟形图标)表示立即运行状态。
-
监视中心 (在左侧导航中选择 “监视 ”)以获取完整的作业详细信息。 查找包含
TableMaintenance门户启动运行的活动名称中的活动。 若要通过 Fabric 数据工厂管道进行维护,请在 “监视中心 > 管道” 视图中查找管道运行,并按 Lakehouse Maintenance 活动名称进行筛选。
运行维护后,成功在通知中显示为已完成的表维护活动,并在监视中心中显示为成功的 TableMaintenance 条目。
有关监视中心导航和筛选器的详细信息,请参阅 “使用监视中心”。
真空保留设置
该 VACUUM 命令删除 Delta 日志不再引用且早于保留阈值的文件。 默认保留阈值为七天。
使用较短的保留间隔可以减少 Delta 历史记录,并可能影响并发用户的读/写操作。 默认情况下,Fabric 门户和 API 维护请求在保留间隔少于七天时会失败。
如果必须使用少于 7 天的保留间隔,请在工作区 Spark 工作负载使用的 Fabric 环境的 Spark 属性中,将 spark.databricks.delta.retentionDurationCheck.enabled 设置为 false。 若要了解如何配置和附加环境,请参阅 在 Fabric 中创建、配置和使用环境 以及 Fabric 环境中的 Spark 计算配置设置。