连续运行作业

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

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

重要

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

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

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

  1. 在边栏中,单击“工作流”。
  2. 在“作业”选项卡上的“名称”列中,单击作业名称。
  3. 单击“作业详细信息”面板中的“添加触发器”,在“触发器类型”中选择“连续”,然后单击“保存”

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

注意

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

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

Azure Databricks 使用指数退避方案来管理具有多个连续失败的连续作业。 指数退避允许连续作业在不暂停的情况下运行,并在发生可恢复失败时返回到正常状态。

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

  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 请求。