共用方式為

连续运行作业

使用连续模式来计划工作负载以连续运行。 Databricks 建议对始终可用的流式处理工作负载使用连续模式。

连续模式取代了有关结构化流式处理工作负载的旧建议,为作业配置了无限重试策略,最大并发运行数为一。

将作业配置为在连续模式下运行

要将作业配置为在连续模式下运行,请执行以下操作:

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

  2. (可选)选择作业归我所有筛选器。

  3. 单击作业的名称链接。

  4. “作业详细信息”面板中单击“添加触发器”,在“触发器类型”中选择“连续

  5. (可选)选择 任务重试模式。 可以选择重试 失败时、重试作业中失败的任务,或选择 “永不 ”仅在作业级别重试。 对于连续 模式,任务重试模式 默认为 “开”失败

    注意

    对于现有的作业,可能需要先单击“ 配置重试模式 ”,然后选择任务重试模式。

  6. 单击“ 保存”。

要停止连续作业,请单击“暂停”按钮。 单击“继续”以连续模式重启作业。

注意

  • 一项连续作业只能有一个运行实例。
  • 旧的运行结束和新的运行开始之间有一定延迟。 此延迟应小于 60 秒。
  • 不能对连续作业使用任务依赖项
  • 不能在连续作业中使用 重试策略 。 相反,连续作业使用 指数退避 算法在失败时自动重试整个作业。
  • 还可以通过将 任务重试模式 设置为 “失败时”,在任务级别配置重试。
  • 在已暂停的连续作业上选择“立即运行”会触发新的作业运行。
  • 要让连续作业选取新的配置,请取消现有运行。 新运行会自动启动。 还可以单击“重启运行”以使用更新的配置重启作业运行。

如何处理连续作业的故障?

故障是使用 指数退避 算法管理的。

任务重试模式 设置为 “失败时”时,将重试失败的任务,延迟呈指数级递增,直到达到允许的最大重试次数(单个任务作业为 3 次)。 达到最大重试次数后,将取消运行,并触发新的运行。 对于具有多个任务的作业,如果没有任何其他任务正在运行,或者所有其他未完成的任务也处于失败或重试状态,则失败的任务将触发新的运行。

作业级别的连续失败也使用指数退避进行管理,这允许连续作业在不暂停的情况下运行,并在发生可恢复故障时返回到正常状态。

当连续作业超过允许的连续失败阈值时,以下描述了如何管理后续作业运行:

  1. 在系统设置的重试时间过后,将重新启动作业。

  2. 如果下一个作业运行失败,则重试时间会增加,并在新的重试时间后重新启动作业。

    1. 对于每个后续的作业运行失败,重试周期都会增加,最高可达系统设置的最大重试周期。 达到最大重试周期后,将继续使用最大重试周期重试作业。 连续作业的重试次数没有限制。

    2. 如果作业运行成功完成并开始新的运行,或者运行超过阈值而没有失败,则认为作业正常,并且回退序列将重置。

可以在作业 UI 中以指数退避状态重新启动连续作业,也可以将作业 ID 传递给 Jobs 2.1 API 中的 POST /api/2.1/jobs/run-now 请求或 Jobs 2.0 API 中的 POST /api/2.0/jobs/run-now 请求。