每个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 管道转换为无服务器。
- 要配置和转换无服务器管道,请参见 配置无服务器管道。
- 要配置经典计算,请参见 “配置流水线经典计算”。