连续运行作业

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

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

重要

作业的无服务器计算不支持连续模式。

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

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

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

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

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

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

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

    注意

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

  6. 单击“ 保存”。

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

注意

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

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

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

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

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

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

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

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

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

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

可以在 作业 UI 中以指数退避状态重启连续作业,也可以通过将作业 ID 传递到作业 API 中的 立即运行 请求。