可以使用作业 UI 或开发人员工具(如 Databricks CLI 或 REST API)创建和运行作业。 使用 UI 或 API,可以修复并重新运行失败或取消的作业。 本文介绍如何使用 工作流 工作区 UI 创建、配置和编辑作业。 有关其他工具的信息,请参阅以下内容:
- 若要了解如何使用 Databricks CLI 创建和运行作业,请参阅什么是 Databricks CLI?。
- 若要了解如何使用作业 API 创建和运行作业,请参阅 REST API 参考中的作业。
- 如果你更喜欢基础结构即代码 (IaC) 方法来配置作业,则可以使用 Databricks 资产捆绑包。 若要了解如何使用捆绑包配置和协调作业,请参阅 Databricks 资产捆绑包。
- 若要了解如何直接在 Databricks 笔记本中运行和计划作业,请参阅创建和管理计划的笔记本作业。
提示
若要以 YAML 身份查看作业,请单击作业的“立即运行”左侧的串形菜单,然后单击“切换到代码版本(YAML)”。
作业所需的最低配置是什么?
Azure Databricks 上的所有作业都需要以下各项:
- 包含要运行的逻辑的任务,例如 Databricks 笔记本。 请参阅配置和编辑 Databricks 任务
- 一个用来运行该逻辑的计算资源。 该计算资源可以是无服务器计算、经典作业计算或通用计算。 请参阅为作业配置计算。
- 规定作业应当在何时运行的指定计划。 (可选)可以省略设置计划并手动触发作业。
- 唯一的名称。
创建新作业
本部分介绍使用笔记本任务创建新作业以及使用工作区 UI 计划的步骤。
一个作业包含一个或多个任务。 可通过为该作业配置第一个任务来创建新作业。
注意
每个任务类型在工作区 UI 中都有动态配置选项。 请参阅配置和编辑 Databricks 任务。
在边栏中单击
“工作流”,然后单击
。
输入“任务名称”。
对于“路径”字段,选择一个笔记本。
单击“创建任务”。
如果工作区未为作业启用无服务器计算,则必须选择“计算”选项。 Databricks 建议在配置任务时始终使用作业计算。
工作区作业列表中会显示一个新作业,其名称为默认名称 New Job <date> <time>
。
如果你的工作流程需要,可以继续在同一作业中添加更多任务。 任务超过 100 个的作业可能具有特殊要求。 有关详细信息,请参阅 包含大量任务的作业。
计划作业
你可以决定作业何时运行。 默认情况下,它仅在 手动启动时运行,但也可以将其配置为自动运行。 可以创建一个 触发器,以便按计划或基于事件运行作业。
控制作业中的任务流
在作业中配置多个任务时,可以使用专用任务来控制任务运行方式。 请参阅控制 Databricks 作业中的任务流。
选择要在工作区中编辑的作业
要使用工作区 UI 编辑现有作业,请执行以下操作:
单击边栏中
“工作流”。
在“名称”列中单击作业名称。
可以使用作业 UI 执行以下操作:
- 编辑作业设置
- 重命名、克隆或删除作业
- 将新任务添加到现有作业
- 编辑任务设置
编辑作业设置
边侧面板包含“作业详细信息”。 可以更改作业触发器、计算配置、通知和最大并发运行数,配置持续时间阈值,以及添加或更改标记。 如果启用了作业访问控制,则还可以编辑作业权限。
为所有作业任务添加参数
作业级别配置的参数会传递到任何接受键值参数的作业任务,包括配置为接受关键字参数的 Python wheel 文件。 请参阅参数化作业。
将标记添加到作业
要向作业添加标签或键值属性,可以在编辑作业时添加标记。 可以使用标记来筛选作业列表中的作业。 例如,可以使用 department
标记来筛选属于特定部门的所有作业。
注意
由于作业标记不是为了存储敏感信息(如个人身份信息或密码)而设计的,因此 Databricks 建议仅对非敏感值使用标记。
标记还会传播到运行作业时创建的作业群集,使你可以将标记与现有群集监视配合使用。
单击“作业详细信息”侧面板中的“+ 标记”,即可添加或编辑标记。 可以将标记添加为标签或键值对。 若要添加标签,请在“键”字段中输入标签,并将“值”字段留空。
重命名、克隆或删除作业
要重命名作业,请转到作业 UI 并单击作业名称。
可以通过克隆现有作业来快速创建新作业。 克隆作业会创建与该作业相同的副本,只有作业 ID 不同。 要克隆作业,请执行以下操作:
转到作业的作业 UI。
单击“立即运行”
按钮旁的 。
从下拉菜单中,选择“克隆作业”。
输入克隆后作业的名称。
单击“克隆”。
删除作业
要删除作业,请转到作业页面,单击该作业名称旁边的 ,并从下拉菜单中选择“删除作业”。
将 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 文件夹。
为作业运行时间或流式积压指标配置阈值
重要
Databricks 作业的流式处理可观测性为公共预览版。
可以为作业运行持续时间或流式处理积压工作指标配置可选阈值。 若要配置持续时间或流式处理指标阈值,请单击“作业详细信息”面板中的“持续时间和流式处理积压工作阈值”。
要配置作业持续时间阈值(包括作业的预期完成时间和最大完成时间),请在“指标”下拉菜单中选择“运行持续时间”。 请在警告字段中输入持续时间,以配置作业的预期完成时间。 如果作业超过此阈值,则会触发事件。 可以使用此事件在作业运行缓慢时发出通知。 请参阅为慢速作业配置通知。 要配置作业的最长完成时间,请在“超时”字段中输入最长持续时间。 如果作业未在此时间内完成,则 Azure Databricks 会将其状态设置为“已超时”。
若要为流式积压工作指标配置阈值,请在 指标 下拉菜单中选择该指标,并输入阈值的值。 要了解流式处理源支持的特定指标,请参阅查看流式处理任务的指标。
如果由于超出阈值而触发某个事件,则可以使用该事件发送通知。 请参阅为慢速作业配置通知。
可以选择为任务指定持续时间阈值。 请参阅为任务运行持续时间或流式处理积压工作指标配置阈值。
启用作业运行队列
注意
默认情况下,为在 2024 年 4 月 15 日之后通过 UI 创建的作业启用排队。
为了防止因并发限制而跳过作业的运行,可以对作业启用排队。 启用排队后,如果资源无法用于某个作业运行,该运行将最长排队 48 小时。 当容量可用时,作业运行将取消排队并运行。 排队的运行显示在作业的运行列表和最近的作业运行列表中。
达到以下限制之一时,运行将排队:
- 工作区中的最大并发活动运行数。
- 工作区中的最大并发
Run Job
任务运行数。 - 作业的最大并发运行数。
排队是队列仅针对该作业运行的一个作业级属性。
若要启用或禁用排队,请单击“高级设置”,然后单击“作业详细信息”侧面板中的“队列”切换按钮。
配置最大并发运行数
默认情况下,所有新作业的最大并发运行数为 1。
单击“高级设置”下的“编辑并发运行”以设置此作业的最大并行运行数。
如果作业在尝试启动新运行时已达到其最大活动运行数,Azure Databricks 将跳过运行。
将此值设置为大于 1 以允许同一作业的多个并发运行。 设置此值适用于这样的情形:例如,如果你按计划频繁触发作业并希望允许连续的运行彼此重叠,或者,如果你希望触发多个在输入参数方面有区别的运行。