配置和编辑 Databricks 作业

可以使用作业 UI 或开发人员工具(如 Databricks CLI 或 REST API)创建和运行作业。 使用 UI 或 API,可以修复并重新运行失败或取消的作业。 本文介绍如何使用 工作流 工作区 UI 创建、配置和编辑作业。 有关其他工具的信息,请参阅以下内容:

  • 若要了解如何使用 Databricks CLI 创建和运行作业,请参阅什么是 Databricks CLI?
  • 若要了解如何使用作业 API 创建和运行作业,请参阅 REST API 参考中的作业
  • 如果你更喜欢基础结构即代码 (IaC) 方法来配置作业,则可以使用 Databricks 资产捆绑包(DAB)。 要了解如何使用 DAB 配置和编排作业,请参阅 Databricks 资产捆绑包
  • 若要了解如何直接在 Databricks 笔记本中运行和计划作业,请参阅创建和管理计划的笔记本作业

提示

若要以 YAML 身份查看作业,请单击作业的“立即运行”左侧的串形菜单,然后单击“切换到代码版本(YAML)”。

作业所需的最低配置是什么?

Azure Databricks 上的所有作业都需要以下各项:

  • 包含要运行的逻辑的任务,例如 Databricks 笔记本。 请参阅配置和编辑 Databricks 任务
  • 一个用来运行该逻辑的计算资源。 该计算资源可以是无服务器计算、经典作业计算或通用计算。 请参阅为作业配置计算
  • 规定作业应当在何时运行的指定计划。 (可选)可以省略设置计划并手动触发作业。
  • 唯一的名称。

创建新作业

本部分介绍使用笔记本任务创建新作业以及使用工作区 UI 计划的步骤。

一个作业包含一个或多个任务。 可通过为该作业配置第一个任务来创建新作业。

注意

每个任务类型在工作区 UI 中都有动态配置选项。 请参阅配置和编辑 Databricks 任务

  1. 在边栏中单击 工作流图标“工作流”,然后单击 创建工作按钮
  2. 输入“任务名称”
  3. 对于“路径”字段,选择一个笔记本。
  4. 单击“创建任务”。

如果工作区未为作业启用无服务器计算,则必须选择“计算”选项。 Databricks 建议在配置任务时始终使用作业计算。

工作区作业列表中会显示一个新作业,其名称为默认名称 New Job <date> <time>

如果你的工作流程需要,可以继续在同一作业中添加更多任务。

计划作业

你可以决定作业何时运行。 默认情况下,它仅在手动启动时运行,但也可以将其配置为自动运行。 可以创建一个 触发器,以便按计划或基于事件运行作业。

控制作业中的任务流

在作业中配置多个任务时,可以使用专用任务来控制任务运行方式。 请参阅控制 Databricks 作业中的任务流

选择要在工作区中编辑的作业

要使用工作区 UI 编辑现有作业,请执行以下操作:

  1. 单击边栏中 工作流图标工作流”。
  2. 在“名称”列中单击作业名称。

可以使用作业 UI 执行以下操作:

  • 编辑作业设置
  • 重命名、克隆或删除作业
  • 将新任务添加到现有作业
  • 编辑任务设置

注意

还可以查看用于 REST API get, create, 和 reset 终结点的 JSON 定义。

编辑作业设置

边侧面板包含“作业详细信息”。 可以更改作业触发器、计算配置、通知和最大并发运行数,配置持续时间阈值,以及添加或更改标记。 如果启用了作业访问控制,则还可以编辑作业权限。

为所有作业任务添加参数

作业级别配置的参数会传递到任何接受键值参数的作业任务,包括配置为接受关键字参数的 Python wheel 文件。 请参阅参数化作业

将标记添加到作业

要向作业添加标签或键值属性,可以在编辑作业时添加标记。 可以使用标记来筛选作业列表中的作业。 例如,可以使用 department 标记来筛选属于特定部门的所有作业。

注意

由于作业标记不是为了存储敏感信息(如个人身份信息或密码)而设计的,因此 Databricks 建议仅对非敏感值使用标记。

标记还会传播到运行作业时创建的作业群集,使你可以将标记与现有群集监视配合使用。

单击“作业详细信息”侧面板中的“+ 标记”,即可添加或编辑标记。 可以将标记添加为标签或键值对。 若要添加标签,请在“键”字段中输入标签,并将“值”字段留空。

将预算策略添加到作业

重要说明

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

如果工作区使用预算策略来归因无服务器使用情况,则可以通过“作业详细信息”侧面板中的“预算策略”设置来选择作业的预算策略。 请参阅使用预算策略来归因无服务器使用情况

重命名、克隆或删除作业

要重命名作业,请转到作业 UI 并单击作业名称。

可以通过克隆现有作业来快速创建新作业。 克隆作业会创建与该作业相同的副本,只有作业 ID 不同。 要克隆作业,请执行以下操作:

  1. 转到作业的作业 UI。
  2. 单击“立即运行”Kebab menu按钮旁的
  3. 从下拉菜单中,选择“克隆作业”
  4. 输入克隆后作业的名称。
  5. 单击“克隆”。

删除作业

要删除作业,请转到作业页面,单击该作业名称旁边的 Kebab 菜单,并从下拉菜单中选择“删除作业”

将 Git 与作业配合使用

如果作业包含任何支持使用远程 Git 提供程序的任务,则作业 UI 会包含一个“Git”字段以及用于添加或编辑 Git 设置的选项。

可以将以下任务类型配置为使用远程 Git 存储库:

  • Notebook
  • Python 脚本
  • SQL 文件
  • dbt

作业中的所有任务都必须引用远程存储库中的同一提交。 对于使用远程存储库的作业,必须仅指定以下之一:

  • “分支”:分支的名称,例如 main
  • “标记”:标记的名称,例如 release-1.0.0
  • “提交”:特定提交的哈希值,例如 e0056d01

作业运行开始时,Databricks 会创建远程存储库的快照提交,以确保整个作业都针对相同版本的代码运行。

对于运行存储在远程 Git 存储库中的代码的任务,查看其运行历史记录时,“任务运行详细信息”面板将包含 Git 详细信息,包括与运行关联的提交 SHA。 请参阅查看任务运行历史记录

注意

配置为使用远程 Git 存储库的任务无法写入工作区文件。 这些任务必须将临时数据写入附加到配置为运行任务的计算的驱动程序节点的临时存储,并将持久性数据写入卷或表。

Databricks 建议仅在 Git 文件夹中引用工作区路径,以便在开发过程中快速迭代和测试。 在将作业迁移到过渡和生产环境时,Databricks 建议重新配置这些作业以引用远程 Git 存储库。 要详细了解如何将远程 Git 存储库与 Databricks 作业配合使用,请参阅以下章节。

配置 Git 提供程序

作业 UI 有一个用于配置远程 Git 存储库的对话框。 可从“Git”标题下的“作业详细信息”面板或配置为使用 Git 提供程序的任何任务中访问此对话框。

所显示可用于访问该对话框的选项因具体任务类型,以及是否已为作业配置 git 引用而异。 用于启动该对话框的按钮包括“添加 Git 设置”、“编辑”或“添加 git 引用”

在“Git 信息”对话框中(通过“作业详细信息”面板访问时则仅标记为“Git”),请输入以下详细信息:

  • “Git 存储库 URL”
  • 从下拉列表中选择“Git 提供程序”
  • 在“Git 引用”字段中,输入与要运行的源代码版本对应的分支、标记或提交标识符。
  • 从下拉菜单中选择“分支”、“标记”或“提交”。。

注意

此对话框可能会发出以下提示:“缺少此帐户的 Git 凭证。请添加凭证”。 必须首先配置远程 Git 存储库,然后才能将其用作引用。 请参阅设置 Databricks Git 文件夹 (Repos)

为作业运行持续时间或流媒体积压指标配置阈值

重要说明

Databricks 作业的流式处理可观测性为公共预览版

可以为作业运行持续时间或流式处理积压工作指标配置可选阈值。 要配置持续时间或流式处理指标阈值,请单击“作业详细信息”面板中的“持续时间和流式处理积压工作阈值”

要配置作业持续时间阈值(包括作业的预期完成时间和最大完成时间),请在“指标”下拉菜单中选择“运行持续时间”。 在“警告”字段中输入持续时间,即可配置作业的预期完成时间。 如果作业超过此阈值,则会触发事件。 可以使用此事件在作业运行缓慢时发出通知。 请参阅为慢速作业配置通知。 要配置作业的最长完成时间,请在“超时”字段中输入最长持续时间。 如果作业未在此时间内完成,则 Azure Databricks 会将其状态设置为“已超时”。

要为流式处理积压工作指标配置阈值,请在“指标”下拉菜单中选择指标,并输入阈值的值。 要了解流式处理源支持的特定指标,请参阅查看流式处理任务的指标

如果由于超出阈值而触发某个事件,则可以使用该事件发送通知。 请参阅为慢速作业配置通知

可以选择为任务指定持续时间阈值。 请参阅为任务运行持续时间或流式处理积压工作指标配置阈值