创建源代码管理管道

重要

工作区中的 Lakeflow 管道编辑器和 Databricks 资产捆绑包目前为公共预览版

在 Databricks 中,可以源代码管理管道及其关联的所有代码。 通过源代码管理与管道关联的所有文件,对转换代码、浏览代码和管道配置的更改都在 Git 中进行了版本控制,可在开发中进行测试,并自信地部署到生产环境。

源代码管理的管道具有以下优势:

  • 可跟踪性:捕获 Git 历史记录中的每个更改。
  • 测试:在提升到共享生产工作区之前验证开发工作区中的管道更改。 每个开发人员在 Git 文件夹中的代码分支和架构上都有自己的开发管道。
  • 协作:完成单个开发和测试后,代码更改将推送到主生产管道。
  • 治理:符合企业 CI/CD 和部署标准。

Databricks 允许管道及其源文件使用 Databricks 资产捆绑包一起进行源代码管理。 使用包时,管道配置与管道的 Python 或 SQL 源文件一起,以 YAML 配置文件的形式进行源代码管理。 一个包可能包含一个或多个管道,以及其他资源类型,例如任务。

本页演示如何使用 Databricks 资产捆绑设置源代码控制的管道。 有关捆绑包的详细信息,请参阅 什么是 Databricks 资产捆绑包?

要求

若要创建源代码受控的管道,你必须已经有:

在捆绑包中创建新管道

注释

Databricks 建议创建从一开始就由源代码控制的管道。 或者,可以将现有管道添加到已由源代码控制的捆绑包。 请参阅 将现有资源迁移到捆绑包

若要创建新的源控管道,请执行以下操作:

  1. 在工作区中,转到 “加号”图标。新建>管道图标。ETL 管道

  2. 选择“文件立方体图标”:将其设置为源代码控制项目

    新的源代码管理管道

  3. 单击“ 创建新项目”,然后选择要在其中放置代码和配置的 Git 文件夹:

    新建项目

  4. 单击 “下一步”

  5. “创建资产捆绑包 ”对话框中输入以下内容:

    • 捆绑名称:捆绑包的名称。
    • 初始目录:包含要使用的架构的目录的名称。
    • 使用个人架构:如果要隔离对个人架构的编辑,请选中此框,以便当组织中的用户协作处理同一项目时,不会覆盖开发环境中彼此的更改。
    • 初始语言:用于项目示例管道文件的初始语言,即 Python 或 SQL。

    新包

  6. 单击“ 创建并部署”。 Git 文件夹中创建了包含管道的捆绑包。

查看管道包

接下来,浏览已创建的管道捆绑包。

捆绑包位于 Git 文件夹中,包含捆绑系统文件和 databricks.yml 文件,该文件定义变量、目标工作区 URL 和权限,以及捆绑包的其他设置。 resources捆绑包的文件夹中包含资源(例如管道)的定义。

Git 文件夹中的捆绑包

resources打开文件夹,然后单击管道编辑器按钮以查看源代码控制的管道:

打开管道编辑器

与管道树绑定

示例管道捆绑包包含以下文件:

  • 示例探索笔记本

  • 对表执行转换的两个示例代码文件

  • 包含实用工具函数的示例代码文件

  • 作业配置 YAML 文件,用于定义运行管道的捆绑包中的作业

  • 定义管道的管道配置 YAML 文件

    重要

    必须编辑此文件才能永久保留管道的任何配置更改,包括通过 UI 所做的更改,否则在重新部署捆绑包时会重写 UI 更改。 例如,若要为管道设置不同的默认目录,请编辑 catalog 此配置文件中的字段。

  • 一个自述文件,其中包含有关示例管道捆绑包的更多详细信息,以及有关如何运行管道的说明

有关管道文件的信息,请参阅 管道资产浏览器

运行管道

可以运行单个转换或整个受源代码控制的管道:

  • 若要在管道中运行并预览单个转换,请在工作区浏览器树中选择转换文件以在文件编辑器中打开它。 在编辑器中的文件顶部,单击 “运行文件 播放”按钮。
  • 若要运行管道中的所有转换,请单击 Databricks 工作区右上角的 “运行管道 ”按钮。

有关运行管道的详细信息,请参阅 “运行管道代码”。

更新管道

可以在管道中更新工件或添加更多探索和转换,然后需要将这些更改推送到 GitHub。 单击分支图标。与管道捆绑包关联的 Git 图标,或单击文件夹的 kebab,然后单击 Git... 选择要推送的更改。 请参阅 提交并将更改推送到远程 Git 存储库

将更改推送到 Git

此外,当你更新管道配置文件或添加或删除捆绑包中的文件时,这些更改不会传播到目标工作区,直到显式部署捆绑包。

注释

Databricks 建议保留源代码管理管道的默认设置。 已配置默认设置,以便在通过 UI 添加其他文件时,无需编辑管道捆绑 YAML 配置。

更新管道

将现有管道添加到捆绑包

有关如何使用 Databricks CLI 将资源迁移到捆绑包的信息,请参阅 将现有资源迁移到捆绑包

其他资源

有关管道的其他教程和参考资料,请参阅 Lakeflow 声明性管道