作业的管道任务

Lakeflow 作业提供了一种以流程方式定义 任务之间关系的方法。 Lakeflow 管道提供了一种声明性方法来定义 数据集转换之间的关系。 使用作业 UI、Lakeflow 管道 UI 或 SQL,将管道调度为在作业中作为任务运行。

流水线任务根据作业的排程,以两种方式运行其流水线:

  • 在触发或调度作业中,流水线任务开始一次更新,更新完成后停止。
  • 在连续作业中,管道任务会持续运行该流水线。 作业的计划决定执行模式,因此即使触发了自身的 流水线模式 设置,流水线仍能持续运行。 参见 “连续运行管道并执行连续作业”。

若要详细了解触发管道和连续管道,请参阅触发管道模式与连续管道模式

使用 Jobs 用户界面配置管道任务

Lakeflow 管道在管道定义中管理源代码和计算资源的所有配置。

若要将管道添加到一个作业中,请完成以下步骤:

  1. 创建并命名新任务,并为类型选择管道

  2. “管道 ”下拉菜单中,选择现有管道。

  3. 可以选择性地在流水线中触发完全刷新。

  4. 可以选择在 “参数” 字段中设置参数替代。 请参阅参数

  5. (可选)若要配置重试、运行持续时间或流式积压工作阈值或通知,请参阅 “高级任务设置”。

注释

还可以通过选择 Plus 图标在创建任务时创建新的引入管道。“添加任务”窗格或“任务类型”下拉列表中的新引入管道

若要编辑、克隆、禁用或删除此任务,请参阅 Lakeflow 作业中的配置和编辑任务

使用连续作业持续运行管道

连续作业 包含流水线任务时,该作业会连续运行该流水线。 你不需要将流水线内置的 流水线模式 设置为连续:作业的排程决定执行模式,优先于 流水线模式 设置。

这仅适用于Lakeflow管道。 独立的实体化视图和流式表总是以触发模式运行。

封装在连续作业中的连续流水线可以使用无服务器性能模式,例如 Standard 模式,而流水线内置的连续模式不支持这些性能模式。

Databricks 建议通过连续作业运行连续管道,而不是使用管道内置的连续模式设置。 为避免出现意外行为,当将其包装在连续作业中时,请将流水线的 Pipeline mode 设置为触发式(默认设置)。 更多信息请参见 “用连续作业运行连续流水线”。

你可以在作业 UI 中创建连续作业,也可以直接在管道页面中创建,或者使用声明式自动化包创建。 参见“ 用流水线界面调度流水线 ”和“ 声明式自动化包”中的“定义连续流水线作业”。

在声明性自动化捆绑包中定义连续管道作业

以下声明式自动化捆绑包示例定义了一个连续作业,将管道作为任务运行。 将continuous.pause_status设置为UNPAUSED可使流水线持续运行,而performance_target: STANDARD则以标准性能模式运行作业。

# resources/continuous_job.yml
resources:
  jobs:
    continuous_pipeline_job:
      name: continuous_pipeline_job
      performance_target: STANDARD
      continuous:
        pause_status: UNPAUSED
      email_notifications:
        on_failure:
          - your_email@example.com
      tasks:
        - task_key: refresh_pipeline
          pipeline_task:
            pipeline_id: ${resources.pipelines.example_pipeline.id}

要将现有的连续流水线迁移到连续作业,请从流水线定义中移除该 continuous 字段。 该作业随后被配置为持续执行。

关于等效的Jobs API负载,请参见 jobs/create 参考文献。

数据库表同步管道

数据库表同步管道任务是一项用于运行维护 Lakebase 同步表的管道的管道任务。 使用它按计划刷新同步表,或源 Unity 目录表发生更改时,以便操作应用程序从 Lakebase Postgres 读取当前数据。

在任务 类型 下拉列表中, 数据库表同步管道 显示在 引入和转换下。 选中后即可配置管道任务。 在 “管道” 字段中,选择与您要刷新的同步表关联的管道。

Lakebase 有两个产品/服务。 您要刷新的同步表决定了应遵循哪组说明:

  • Lakebase Autoscaling 是面向新实例提供的产品。

  • Lakebase Provisioned 是最初推出的产品/服务。

摄取管道

引入管道任务是运行引入管道的管道任务。 在任务 类型 下拉列表中,选择 引入管道 将启动 “添加数据 向导”,该向导为引入管道创建管道任务。

向导的第一页会要求您指定数据源。 以下页面取决于所选的源。

管道任务的并发限制

管道一次只能运行一个更新。 包含管道任务的作业受以下并发上限的约束:

  • 带有包含管道任务的 max_concurrent_runs > 1 的作业,并发运行数最多为 1。 应用此上限时,作业 UI 会显示通知。
  • 被封装在 for-each 任务 中的管道任务最多只能同时进行一次迭代,无论循环配置的并发数是多少。

在设计打算在大量参数组合下运行或按紧凑时间表运行的参数化管道时,请将这些限制纳入规划考虑。

使用管道 UI 计划管道

将调度添加到流水线会创建一个包含单个流水线任务的作业。 有关更高级的触发选项,请参阅 使用“作业”UI 配置管道任务

使用管道用户界面,按照以下步骤在定时任务中配置管道任务:

  1. 在您的工作区中,单击工作流图标,在侧栏中选择作业和管道

  2. 单击管道 名称。 此时会显示管道 UI。

  3. 单击“日程”

    • 如果管道不存在计划,将显示 “新建计划 ”对话框。
    • 如果已有一个或多个计划,请单击“ 添加计划”。
  4. “触发器类型 ”下拉列表中,选择触发器类型:

  5. “作业名称 ”字段中输入作业的唯一名称。

  6. (可选)要在标准性能模式下运行流水线,请勾选 性能优化 的复选框。 请参阅 “选择性能模式”。

  7. (可选)在 “更多选项”下,配置一个或多个电子邮件地址,以在管道启动、成功或失败时接收警报。

  8. 单击 “创建”

对于连续计划,Azure Databricks 会自动启动运行任务。 要停止它,请点击管道页面的 “停止 ”或暂停排程。 这两个操作都会取消当前的更新。 >[!注意] >> 如果管道包含在一个或多个计划作业中,“计划”按钮将显示现有计划的数量,例如“计划”(5)。

在 Databricks SQL 中向物化视图或流表添加计划

Databricks SQL 中定义的具体化视图和流式处理表支持 CREATEALTER 命令中指定的基于时间的计划。

有关详细信息,请参阅以下文章:

其他资源