用于管道的无服务器计算与传统计算对比

每个Lakeflow管道的更新都运行在无服务器或经典计算上。 计算类型是针对每条流水线单独设置的选项,你可以在流水线的设置中进行选择。 这不是自动的:管道只有在启用 无服务器 设置时才运行于无服务器计算,否则则运行在经典计算上。 本页比较了这两种选项,以便你为每个管道选择合适的方案。

Databricks 建议几乎所有管道采用无服务器计算。 在无服务器时,Azure Databricks 会帮你管理基础设施。 没有集群需要进行规模、配置、保护或权限授予,而且你能获得经典计算无法提供的功能,比如增量刷新和垂直自动扩展。 对于传统计算,这些基础设施需要由你来负责配置和维护。 无服务器几乎支持经典计算的所有功能。 例外的是遗留的Hive元存储和一些网络配置。 对于大多数流水线来说,选择经典计算意味着承担无服务器本可处理的手动工作。

重要

实体化视图的增量刷新仅在无服务器管道中提供。 在经典计算资源上运行的物化视图始终会被完全重新计算。 如果你的工作负载需要增量刷新,建议使用无服务器计算。 请参阅具体化视图的增量刷新

比较计算选项

下表针对最常影响选型的各项能力,对无服务器计算和传统计算进行了比较:

能力 Serverless Classic
基础结构管理 Azure Databricks 管理所有基础设施。 没有集群配置。 你必须配置集群,包括自动扩展、实例类型和集群策略。
具体化视图的增量刷新 支持. 实体化视图在成本效益高时会逐步刷新,以降低计算成本。 请参阅具体化视图的增量刷新 不支持。 物化视图始终会被完全重新计算。
Autoscaling 增强的自动缩放,水平扩展(执行者更多)和纵向扩展(执行者更大)。 请参阅 使用自动缩放优化 Lakeflow 管道群集利用率 增强的水平自动缩放。 你选择实例类型。
流水线 默认启用。 微批处理并发以提升吞吐量和延迟。 请参阅 配置无服务器管道 暂无
计算资源创建权限 非必需。 所有工作区用户默认都可以运行无服务器管道。 必填。 用户需要无限制的集群创建权限或访问计算策略。
计算策略与实例类型 由 Azure Databricks 管理。 你不需要设置实例类型或计算策略。 你手动应用计算策略,选择工作实例和驱动程序实例类型。
统一目录 总是用Unity Catalog。 可以使用Unity Catalog或旧版Hive元商店。
成本归因 应用自定义标签并实现无服务器使用策略。 给管道应用自定义标签。 你必须手动将标签数据与账单数据连接。
更新与维护集群 由 Azure Databricks 管理。 你要分别配置更新和维护集群。
单节点计算 不需要。 Azure Databricks 会根据工作负载自动调整计算资源规模。 你可以为小型或非分布式工作负载配置单节点计算。

何时使用无服务器计算

对于不涉及以下经典限制的任何流水线,都使用无服务器计算。 特别地,无服务器是以下情况下的正确选择:

  • 你希望 Azure Databricks 帮你管理基础设施,包括垂直自动扩展和实例选择,而不是自己配置和维护集群。
  • 你需要为实体化视图提供增量刷新以降低刷新成本。
  • 你希望工作区用户在没有集群创建权限的情况下运行管道。

无服务器管道需要一个启用 Unity 目录的工作区和一个支持无服务器的区域。 关于需求和设置,请参见 配置无服务器管道

何时使用经典计算

无服务器几乎支持所有流水线工作负载,因此,只有在无服务器完全无法运行你的流水线时,才使用传统计算:

  • 你的表格使用遗留的Hive元存储,而不是Unity Catalog。 要将 Hive 元存储表迁移到 Unity 目录并启用无服务器功能,请参见 “升级蜂巢表和视图到 Unity 目录”。
  • 你的流水线需要私有网络,而无服务器环境不支持这一点。
  • 你的流水线在不支持无服务器的区域中运行。

有了经典的计算,计算策略、实例类型、单节点计算以及独立的更新和维护集群都可以由你配置和维护,而无服务器则能帮你完成这些工作。

关于设置和配置选项,请参见 “配置流水线经典计算”。

设置计算类型

你可以通过启用或禁用无服务器设置,在流水线的计算设置中选择计算类型。 新管道默认使用无服务器。 你也可以将已配置的 Unity Catalog 管道转换为无服务器。

其他资源