重要
工作区中的 Lakeflow 管道编辑器和 Databricks 资产捆绑包目前为公共预览版。
在 Databricks 中,可以源代码管理管道及其关联的所有代码。 通过源代码管理与管道关联的所有文件,对转换代码、浏览代码和管道配置的更改都在 Git 中进行了版本控制,可在开发中进行测试,并自信地部署到生产环境。
源代码管理的管道具有以下优势:
- 可跟踪性:捕获 Git 历史记录中的每个更改。
- 测试:在提升到共享生产工作区之前验证开发工作区中的管道更改。 每个开发人员在 Git 文件夹中的代码分支和架构上都有自己的开发管道。
- 协作:完成单个开发和测试后,代码更改将推送到主生产管道。
- 治理:符合企业 CI/CD 和部署标准。
Databricks 允许管道及其源文件使用 Databricks 资产捆绑包一起进行源代码管理。 使用包时,管道配置与管道的 Python 或 SQL 源文件一起,以 YAML 配置文件的形式进行源代码管理。 一个包可能包含一个或多个管道,以及其他资源类型,例如任务。
本页演示如何使用 Databricks 资产捆绑设置源代码控制的管道。 有关捆绑包的详细信息,请参阅 什么是 Databricks 资产捆绑包?。
要求
若要创建源代码受控的管道,你必须已经有:
- 在工作区中创建并配置的 Git 文件夹。 Git 文件夹允许单个用户在将更改提交到 Git 存储库之前进行创作和测试。 请参阅 什么是 Databricks Git 文件夹。
- 已启用 Lakeflow 管道编辑器。 本教程中所述的 UI 仅适用于此编辑器体验。 请参阅 使用 Lakeflow 管道编辑器开发和调试 ETL 管道。
在捆绑包中创建新管道
注释
Databricks 建议创建从一开始就由源代码控制的管道。 或者,可以将现有管道添加到已由源代码控制的捆绑包。 请参阅 将现有资源迁移到捆绑包。
若要创建新的源控管道,请执行以下操作:
在工作区中,转到
新建>
ETL 管道。
选择
:将其设置为源代码控制项目。
单击“ 创建新项目”,然后选择要在其中放置代码和配置的 Git 文件夹:
单击 “下一步” 。
在 “创建资产捆绑包 ”对话框中输入以下内容:
- 捆绑名称:捆绑包的名称。
- 初始目录:包含要使用的架构的目录的名称。
- 使用个人架构:如果要隔离对个人架构的编辑,请选中此框,以便当组织中的用户协作处理同一项目时,不会覆盖开发环境中彼此的更改。
- 初始语言:用于项目示例管道文件的初始语言,即 Python 或 SQL。
单击“ 创建并部署”。 Git 文件夹中创建了包含管道的捆绑包。
查看管道包
接下来,浏览已创建的管道捆绑包。
捆绑包位于 Git 文件夹中,包含捆绑系统文件和 databricks.yml
文件,该文件定义变量、目标工作区 URL 和权限,以及捆绑包的其他设置。
resources
捆绑包的文件夹中包含资源(例如管道)的定义。
resources
打开文件夹,然后单击管道编辑器按钮以查看源代码控制的管道:
示例管道捆绑包包含以下文件:
示例探索笔记本
对表执行转换的两个示例代码文件
包含实用工具函数的示例代码文件
作业配置 YAML 文件,用于定义运行管道的捆绑包中的作业
定义管道的管道配置 YAML 文件
重要
必须编辑此文件才能永久保留管道的任何配置更改,包括通过 UI 所做的更改,否则在重新部署捆绑包时会重写 UI 更改。 例如,若要为管道设置不同的默认目录,请编辑
catalog
此配置文件中的字段。一个自述文件,其中包含有关示例管道捆绑包的更多详细信息,以及有关如何运行管道的说明
有关管道文件的信息,请参阅 管道资产浏览器。
运行管道
可以运行单个转换或整个受源代码控制的管道:
- 若要在管道中运行并预览单个转换,请在工作区浏览器树中选择转换文件以在文件编辑器中打开它。 在编辑器中的文件顶部,单击 “运行文件 播放”按钮。
- 若要运行管道中的所有转换,请单击 Databricks 工作区右上角的 “运行管道 ”按钮。
有关运行管道的详细信息,请参阅 “运行管道代码”。
更新管道
可以在管道中更新工件或添加更多探索和转换,然后需要将这些更改推送到 GitHub。 单击与管道捆绑包关联的 Git 图标,或单击文件夹的 kebab,然后单击 Git... 选择要推送的更改。 请参阅 提交并将更改推送到远程 Git 存储库。
此外,当你更新管道配置文件或添加或删除捆绑包中的文件时,这些更改不会传播到目标工作区,直到显式部署捆绑包。
注释
Databricks 建议保留源代码管理管道的默认设置。 已配置默认设置,以便在通过 UI 添加其他文件时,无需编辑管道捆绑 YAML 配置。
将现有管道添加到捆绑包
有关如何使用 Databricks CLI 将资源迁移到捆绑包的信息,请参阅 将现有资源迁移到捆绑包。
其他资源
有关管道的其他教程和参考资料,请参阅 Lakeflow 声明性管道。