使用表维护功能管理 Fabric 中的增量表

Microsoft Fabric 中的湖屋提供了表维护功能,可有效地管理增量表,并使其始终准备好进行分析。 本指南介绍湖屋中的表维护功能及其能力。

湖屋表维护功能的主要能力:

  • 使用湖屋资源管理器中增量表中的上下文右键操作可执行即席表维护。
  • 应用 bin-compaction、V 顺序和未引用的旧文件清理。

注意

对于高级维护任务(例如对多个表维护命令进行分组、根据计划进行协调),则建议选择以代码为中心的方法。 若要了解详细信息,请参阅 Delta Lake 表优化和 V-Order 一文。 还可以使用湖屋 API 自动执行表维护操作,要了解详细信息,请参阅使用 Microsoft Fabric REST API 管理湖屋

支持的文件类型

“湖屋表维护”仅适用于 Delta Lake 表。 不支持使用 PARQUET、ORC、AVRO、CSV 和其他格式的旧 Hive 表。

表维护操作

表维护功能提供三个操作。

  • 优化:将多个小型 Parquet 文件合并为大型文件。 文件大小较大时,对于大数据处理引擎和所有 Fabric 引擎都有利。 文件大小必须超过 128 MB,并且最好接近 1 GB,这样可以改善群集节点之间的压缩和数据分布。 这样可以减少扫描大量小型文件的需求,可以高效执行读取操作。 一般来说,最佳做法是在加载大型表后运行优化策略。
  • V 顺序:对增量 parquet 文件应用优化的排序、编码和压缩,以在所有 Fabric 引擎中实现快速读取操作。 V 顺序在优化命令期间发生,并在用户体验中显示为命令组的选项。 若要了解有关 V 顺序的详细信息,请参阅 Delta Lake 表优化和 V-Order
  • 清空:删除增量表日志不再引用的旧文件。 文件期限需要超过保留阈值,默认文件保留阈值为 7 天。 OneLake 中的所有增量表具有相同的保持期。 无论使用何种 Fabric 计算引擎,文件保持期都是相同的。 这项维护对于优化存储成本非常重要。 设置较短的保留期会影响增量的时间旅行功能。 一般来说,最佳做法是将保留间隔设置为至少七天,因为并发表读取器和写入器仍可使用旧快照和未提交的文件。 使用 VACUUM 命令清理活动文件可能会导致读取器失败,甚至导致移除未提交的文件时表损坏。

使用湖屋对增量表执行临时表维护

如何使用此功能:

  1. 从 Microsoft Fabric 帐户中,导航到所需的湖屋。

  2. 在湖屋资源管理器的“表”部分中,右键单击该表或使用省略号访问上下文菜单。

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

  4. 根据要求检查对话框中的维护选项。 有关详细信息,请参阅本文的“表维护操作”部分。

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

  6. 通过通知窗格或监视中心来跟踪维护作业执行。

    该屏幕截图显示了“加载到表”对话框,其中填充了表名。

表维护是如何运作的?

选择“立即运行”后,将提交 Spark 维护作业以供执行。

  1. Spark 作业是使用用户标识和表特权提交的。
  2. Spark 作业会消耗提交作业的工作区/用户的 Fabric 容量。
  3. 如果表上正在运行另一个维护作业,则会拒绝新的维护作业。
  4. 不同表上的作业可以并行执行。
  5. 可以在监视中心轻松跟踪表维护作业。 在监视中心主页的活动名称列中查找“TableMaintenance”文本。