将 Lakeflow 作业配置为在以下任一情况下自动触发:
按基于时间的计划
关于源表更新
文件到达受监视的 Unity Catalog 存储位置
在创建或更新 Unity 目录模型时
持续
还可以手动或通过外部编排工具触发作业运行。
作业计划和触发器
| 触发器类型 | 行为 |
|---|---|
| 已安排 | 根据基于时间的计划触发作业运行。 请参阅按计划运行作业。 |
| 文件到达 | 当新文件到达受监视的 Unity Catalog 存储位置时,触发作业运行。 请参阅在新文件到达时触发作业。 |
| 连续 | 若要使作业始终运行,请在作业运行完成或失败时触发另一个作业运行。 请参阅连续运行作业。 |
| 无(手动) | 使用“立即运行”按钮手动触发运行,或使用其他编排工具以编程方式触发运行。 请查看触发单个作业运行 |
默认情况下,一次只能运行单个作业。 但是,可以在高级设置中增加此限制。 当运行超过为作业配置的最大并发时,将跳过运行。 请参阅配置最大并发运行数。
在作业上配置触发器
打开要在其中配置触发器的作业。
在 作业详细信息 窗格中,向下滚动到 计划 & 触发器 部分,然后单击 添加触发器。
在 计划与触发器中,选择要配置的触发器类型: 计划或 连续。
根据触发器的类型,其他选项也可用于配置。
单击“ 保存”。 保存后,作业将根据配置的触发器自动运行。
注意
如果具有多个任务的作业中的一个或多个任务未成功,则可以重新运行由未成功的任务组成的子集。 请参阅重新运行失败的和跳过的任务。
向作业添加多个触发器
Important
Lakeflow Jobs 中对多触发器的支持目前处于 测试阶段。 工作区管理员可以使用多重触发器设置,在工作区预览页面控制对该功能的访问。 请参阅 Manage Azure Databricks 预览版。
在多重触发测试阶段,一个作业最多可以有五个触发点。
你可以在一个作业中添加多个相同或不同类型的触发器。 当任何激活触发器被评估为真时,就会启动一次运行。 例如,你可以用表更新触发器在数据准备好时启动作业运行,并添加一个额外的计划触发器作为备份。 你还可以使用多个文件到达触发器来监控不同的存储位置。
每个触发器都可以独立暂停和继续。 连续触发器不能与其他触发器组合,因为作业本身已经连续运行。
要添加多个触发器,请对每个触发器按照 在作业上配置触发器 中的步骤操作。 在“排程与触发器”部分点击添加触发器以添加另一个触发器。
要使用 Jobs API 2.1 或更高版本配置多个触发器,请使用 JobSettings 中的 triggers 数组。 不要在与遗留 trigger、continuous 或 triggers 字段相同的请求中设置 schedule。 如果你更新 triggers,它会替换整个数组。 请参见 Jobs API 和 Bundles job.triggers 参考。
管理现有触发器
若要编辑、暂停、恢复或删除触发器,请使用“作业详细信息”窗格的“计划和触发器”部分。 每个触发器都有独立的控制装置。 这些控件仅针对已配置触发器的作业显示。
若要修改触发器,请单击“ 编辑触发器”。
若要暂停活动触发器,请单击“ 暂停”。 当前正在运行的任何运行项都会继续执行,但该触发器将不再启动新的运行。 若要继续使用触发器,请单击“恢复”。 配置的行为会按照之前配置的相同计划恢复。
若要从作业中删除触发器,请单击“ 删除”。
创建或编辑触发器时,还可以在“计划和触发器”对话框中在“活动”和“暂停”之间切换,以控制触发器状态。
注意
如果在恢复连续触发器时一个任务正在运行,作业计划程序将等待该任务完成后再触发新的运行。
Limitations
以下限制适用于作业触发器:
- 一个工作区在所有作业和触发类型中最多可有12,000个激活触发器。 已暂停的触发器不计入此限制。 无论是否启用 多重触发 预览,这个限制都适用。