运行 Lakeflow 作业时,使用专为工作流设计的无服务器计算

工作流的无服务器计算允许在不配置和部署基础结构的情况下运行作业。 借助无服务器计算,可以专注于实现数据处理和分析管道,Azure Databricks 可以有效地管理计算资源,包括优化和缩放工作负载的计算。 自动缩放和 Photon 会自动为运行作业的计算资源启用。

工作流的无服务器计算会自动持续优化基础结构,例如实例类型、内存和处理引擎,以确保根据工作负荷的特定处理要求获得最佳性能。

Databricks 会自动升级 Databricks Runtime 版本,以支持增强功能和升级到平台,同时确保作业的稳定性。 若要查看无服务器计算用于工作流的当前 Databricks Runtime 版本,请参阅无服务器计算发行说明

由于不需要群集创建权限,因此所有工作区用户都可以使用无服务器计算来运行其工作流。

本文介绍如何使用 Lakeflow 作业 UI 创建和运行使用无服务器计算的作业。 还可以通过作业 API、Databricks 资产捆绑包和 Databricks SDK for Python 自动创建和运行使用无服务器计算的作业。

  • 若要了解如何使用作业 API 创建和运行使用无服务器计算的作业,请参阅 REST API 参考中的作业
  • 若要了解如何使用 Databricks 资产捆绑来创建和运行使用无服务器计算的作业,请参阅 使用 Databricks 资产捆绑包开发作业
  • 若要了解如何使用 Databricks SDK for Python 创建和运行使用无服务器计算的作业,请参阅 Databricks SDK for Python

要求

  • Azure Databricks 工作区必须启用 Unity Catalog。
  • 由于工作流的无服务器计算使用 标准访问模式,因此工作负荷必须支持此访问模式。
  • Databricks 工作区必须位于受支持的区域中。 请参阅区域可用性受限的功能

使用无服务器计算创建作业

注意

由于工作流的无服务器计算可确保预配足够的资源来运行工作负载,因此在运行需要大量内存或包含许多任务的作业时,可能会遇到启动时间增加。

无服务器计算支持笔记本、Python 脚本、dbt 和 Python wheel 任务类型。 默认情况下,创建新作业并添加其中一个受支持的任务类型时,会选择无服务器计算作为计算类型。

创建无服务器任务

Databricks 建议对所有作业任务使用无服务器计算。 还可以为作业中的任务指定不同的计算类型,如果工作流的无服务器计算不支持任务类型,则可能需要这些类型。

若要管理作业的出站网络连接,请参阅什么是无服务器出口控制?

配置现有作业使用无服务器计算

编辑作业时,可以将现有作业切换为对受支持的任务类型使用无服务器计算。 若要切换到无服务器计算,请执行以下任一操作:

  • “作业详细信息”侧面板中,单击“计算”下的“交换”,单击“新建”,输入或更新任何设置,然后单击“更新”
  • 在“计算”下拉菜单中单击Down Caret下拉箭头,然后选择无服务器

将任务切换到无服务器计算

使用无服务器计算计划笔记本

除了使用作业 UI 创建和计划使用无服务器计算的作业之外,还可以直接从 Databricks 笔记本创建和运行使用无服务器计算的作业。 请参阅创建和管理计划的笔记本作业

为无服务器使用情况选择无服务器预算策略

重要

此功能目前以公共预览版提供。

无服务器预算策略允许组织对无服务器使用情况应用自定义标记,以实现精细计费属性。

如果工作区使用无服务器预算策略来属性无服务器使用情况,则可以在作业详细信息 UI 中使用 预算策略 设置选择作业的无服务器预算策略。 如果您只被分配到一个无服务器预算策略,那么该策略会自动应用于您的新任务。

注意

当您被分配了无服务器预算策略后,您现有的作业不会自动根据该策略进行标记。 如果要将策略附加到现有作业,则必须手动更新这些作业。

有关无服务器预算策略的详细信息,请参阅 无服务器预算策略的属性使用情况

选择性能模式

可以使用作业详细信息页中的 “性能优化 ”设置选择作业的无服务器任务运行速度。

  • 禁用 性能优化 后,作业将使用标准性能模式。 此模式旨在降低可接受略高启动延迟的工作负荷的成本。 作业可能需要 4-6 分钟才能启动,具体取决于计算可用性和优化的计划。

  • 启用 性能优化 后,作业启动并运行速度更快。 此模式专为时间敏感型工作负荷而设计。

若要在 UI 中配置 性能优化 设置,作业必须至少有一个无服务器任务。 此设置仅影响作业中的无服务器任务。

设置 Spark 配置参数

若要在无服务器计算中自动配置 Spark,Databricks 仅允许设置特定的 Spark 配置参数。 有关允许的参数的列表,请参阅支持的 Spark 配置参数

只能在会话级别设置 Spark 配置参数。 为此,请在笔记本中设置它们,并将笔记本添加到使用这些参数的同一作业中包含的某个任务中。 请参阅获取和设置笔记本中的 Apache Spark 配置属性

配置环境和依赖项

若要了解如何使用无服务器计算安装库和依赖项,请参阅 配置无服务器环境

为笔记本任务配置高内存

重要

此功能目前以公共预览版提供。

可以将笔记本任务配置为使用更高的内存大小。 为此,请在笔记本的环境侧面板中配置“内存”设置。 请参阅 “使用高内存无服务器计算”。

高内存仅适用于笔记本任务类型。

配置无服务器计算自动优化以禁止重试

工作流的无服务器计算自动优化功能会对用于运行作业的计算进行优化,并重试失败任务。 自动优化默认启用,Databricks 建议将其启用,以确保关键工作负载至少成功运行一次。 但是,如果工作负载必须最多执行一次,例如,不是幂等的作业,则可以在添加或编辑任务时关闭自动优化:

  1. “重试”旁边,单击“添加”(或者,如果重试策略已存在,则单击 编辑图标)。
  2. “重试策略”对话框中,取消选中“启用无服务器自动优化(可能包括其他重试)”
  3. 单击“确认”。
  4. 如果要添加任务,请单击“ 创建任务”。 如果要编辑任务,请单击“ 保存”任务

监视将无服务器计算用于工作流的作业成本

可以通过查询可计费使用系统表来监控使用无服务器计算的工作流作业的成本。 此表已更新,包括有关无服务器成本的用户和工作负载属性。 请参阅计费使用情况系统参考表

有关当前定价和任何促销的信息,请参阅 “工作流定价”页

查看作业运行的查询详细信息

可以查看 Spark 语句的详细运行时信息,例如指标和查询计划。

若要从作业 UI 访问查询详细信息,请使用以下步骤:

  1. 在 Azure Databricks 工作区的边栏中,单击“ 作业和管道”。

  2. (可选)选择 “作业 ”筛选器。

  3. 单击要查看的作业 的名称

  4. 单击要查看的特定运行。

  5. 单击 时间线 查看运行的时间线,并拆分为单个任务。

  6. 单击任务名称旁边的箭头以显示查询语句及其运行时。

    作业 UI 中以时间线视图显示的一个任务,其中包含多个查询语句及其运行时间。

  7. 单击某个语句以打开 查询详细信息 面板。 请参阅 “查看查询详细信息 ”,详细了解此面板中提供的信息。

若要查看任务的查询历史记录,请执行以下操作:

  1. 在“任务运行”侧面板的“计算”部分,单击“查询历史记录”
  2. 你将重定向到“查询历史记录”,其中的信息已根据你所处任务的任务运行 ID 进行预筛选。

有关使用查询历史记录的信息,请参阅 访问 Lakeflow 声明性管道的查询历史记录查询历史记录

限制

有关工作流限制的无服务器计算列表,请参阅无服务器计算发行说明中的无服务器计算限制