无服务器计算与传统管道计算

每个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 目录的工作区和一个支持无服务器的区域。 关于需求和设置,请参见 配置无服务器管道

何时使用经典计算

Serverless 几乎支持所有流水线工作负载,因此只有在 Serverless 无法运行流水线时才使用经典计算:

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

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

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

设置计算类型

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

其他资源