在湖屋中运行Delta表格维护

通过压缩小型文件、应用读取优化以及删除不再引用的过时文件,在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 端点活动

  1. 从你的Fabric账户中,导航到目标湖屋。

  2. 在Lakehouse资源管理器中,在 表格下右键点击目标表(或使用省略号)。

  3. 选择“维护”菜单项。

    显示“运行维护命令”对话框的屏幕截图。

  4. “运行维护命令 ”对话框中,选择维护选项:

    • 选择 “打开 ”选项可将小型 Parquet 文件压缩到较大的文件中,以便更高效地读取。

    • 如果选择 开启 ,您还可以选择 “应用V订单 ”复选框。 当你选择这个选项时,Fabric会将V顺序(优化排序、编码和压缩)作为优化的一部分应用。

      注意

      V-order对平均写入时间影响大约15%。 它还可以将压缩率提高多达 50%。

    • 选择 “打开 ”选项以运行 Delta Lake VACUUM 命令并删除早于保留阈值的未引用文件。 有关保留行为和安全详细信息,请参阅 真空保留设置

    • 选择 “开启” 选项可将事务合并为 Parquet 文件,并删除多余的删除向量文件,清理空间并优化表读取。

  5. 选择“立即运行”以执行表维护作业。

  6. 在以下任一位置跟踪作业执行:

    • “通知 ”窗格(Fabric 门户标头中的钟形图标)表示立即运行状态。
    • 监视中心 (在左侧导航中选择 “监视 ”)以获取完整的作业详细信息。 查找包含 TableMaintenance 门户启动运行的活动名称中的活动。 若要通过 Fabric 数据工厂管道进行维护,请在 “监视中心 > 管道” 视图中查找管道运行,并按 Lakehouse Maintenance 活动名称进行筛选。

运行维护后,成功在通知中显示为已完成的表维护活动,并在监视中心中显示为成功的 TableMaintenance 条目。

有关监视中心导航和筛选器的详细信息,请参阅 “使用监视中心”。

真空保留设置

VACUUM 命令删除 Delta 日志不再引用且早于保留阈值的文件。 默认保留阈值为七天。

使用较短的保留间隔可以减少 Delta 历史记录,并可能影响并发用户的读/写操作。 默认情况下,Fabric 门户和 API 维护请求在保留间隔少于七天时会失败。

如果必须使用少于 7 天的保留间隔,请在工作区 Spark 工作负载使用的 Fabric 环境的 Spark 属性中,将 spark.databricks.delta.retentionDurationCheck.enabled 设置为 false。 若要了解如何配置和附加环境,请参阅 在 Fabric 中创建、配置和使用环境 以及 Fabric 环境中的 Spark 计算配置设置