将可视化数据准备文件移动到生产环境

在 Lakeflow Designer 中创建的每个可视化数据准备文件,背后都有可用于生产的代码支持,并以名为 <name>.designer.ipynb 的笔记本形式存储。 可以使用用于其他Azure Databricks代码的相同工具将其移动到生产环境:将其存储在 Git 中,将其作为作业运行,并使用声明性自动化捆绑包部署它。

本页介绍如何将视觉数据准备文件从原型带到生产环境。

在 Git 中存储并进行版本控制

工作区以原生方式存储可视化数据准备文件。 若要对视觉数据准备文件进行版本控制,请将其放置在 Git 文件夹中,并像跟踪任何其他笔记本一样跟踪该文件:

  1. 在工作区中创建 Git 文件夹。
  2. 将可视化数据准备文件移动到该 Git 文件夹中。
  3. 像 Git 中的其他任何笔记本一样跟踪、提交和版本化文件。 在 Git 中,该文件显示为 <file_name>.designer.ipynb.

有关 Git 文件夹的详细信息,请参阅Azure Databricks Git 文件夹。 若要导出或导入视觉对象数据准备文件,请参阅 导出和导入视觉对象数据准备文件

计划为作业

您可以通过将可视化数据准备文件计划为作业来自动运行该文件。

  • 直接计划:单击顶部菜单中的“ 计划 ”按钮,为视觉数据准备文件创建计划作业。
  • 添加到作业中:创建一个 Azure Databricks 作业,并将可视化数据准备文件添加为任务。 这样,便可以将视觉数据准备文件与其他任务合并到更大的管道中。 在“任务 类型” 下拉列表中,选择 “视觉对象数据准备”,然后选择该文件。

计划运行会在“作业”任务图中将每个算子显示为单独的节点,因此您可以像在画布上一样检查某次运行中每个算子的结果。

若要查看和管理现有计划,请再次单击“ 计划 ”以打开列表。 单击 “添加计划 ”以创建另一个计划,或打开计划的 Kebab 菜单图标。Kebab 菜单可 编辑立即运行暂停克隆查看作业将其删除

在运行中显示运算符输出

默认情况下,计划的运行仅为终端运算符(没有下游连接的运算符)生成输出,例如 Output 运算符。 若要查看运行中每个运算符的结果,请在计划对话框中展开 “高级设置 ”,然后选择“ 显示运算符输出”。

用于将可视化数据准备文件作为作业自动运行的 LFD 计划控件。

为大型画布关闭此选项,以避免超出运行输出大小限制。

选择无服务器环境

使用视觉数据准备文件时,可以选择用于交互式运行和计划作业的无服务器环境。 像配置笔记本一样,在右侧边栏的 Environment icon.环境侧边窗格中,通过 进行配置。 在 “基本环境”下,选择环境版本。 请参阅 配置无服务器环境

跨环境参数化

参数是为整个视觉数据准备文件定义的命名值,可以从 SQL 和 Python 运算符引用这些值。 有关定义和引用参数的详细信息,请参阅 “参数”。

参数允许针对不同的环境运行相同的视觉数据准备文件,例如,在开发和生产环境中运行测试目录。

  • 在 UI 中计划作业时:覆盖每个计划的参数值。 例如,创建一个计划,使其在 environment 参数设置为 test 时运行;再创建另一个计划,使其在 environment 参数设置为 时运行。
  • 使用捆绑包进行部署时:通过作业 parameters设置参数值,并使用捆绑包目标为每个环境提供不同的值。 捆绑包开发目标和生产目标可让你将同一作业部署到不同的环境中,并为每个环境使用特定的设置。 请参阅 声明性自动化捆绑包部署模式声明性自动化捆绑包配置

在运行时,可视化数据准备文件无论是以交互方式运行还是作为作业运行,都会以相同的方式读取其参数,因此同一个文件无需修改即可在您的所有环境中使用。

根据环境从不同的表中读取

若要从每个环境中的不同源表进行读取,请使用具有参数的 SQL 运算符,而不是固定的 Source 运算符。 定义 catalogschematable 参数,然后使用 IDENTIFIER() 子句引用这些参数,以动态构建表名:

SELECT * FROM IDENTIFIER(:catalog || '.' || :schema || '.' || :table)

针对每个计划或捆绑包目标,重写 catalogschematable 参数,以便让同一个可视化数据准备文件在开发期间指向测试数据,并在生产环境中指向生产数据。 有关 IDENTIFIER() 子句的更多信息,请参阅 IDENTIFIER 子句

使用声明式自动化包进行部署

声明性自动化捆绑包允许你定义和部署Azure Databricks资源(如源文件),以便可以将软件工程最佳做法(如源代码管理、代码评审、测试和 CI/CD)应用于视觉数据准备文件。 请参阅什么是声明性自动化捆绑包?

若要使用捆绑包部署可视化数据准备文件,请定义一个笔记本任务,并在 .designer.ipynb 中引用 notebook_task.notebook_path 文件路径。 在捆绑包中,视觉数据准备文件使用 notebook_task 密钥,即使作业 UI 将其显示为 视觉数据准备 任务类型。

以下示例定义一个作业,该作业运行位于捆绑配置文件旁的视觉数据准备文件:

resources:
  jobs:
    daily_prep_job:
      name: daily_prep_job
      tasks:
        - task_key: run_visual_data_prep
          notebook_task:
            notebook_path: ./my_transformation.designer.ipynb

使用 Azure Databricks CLI 部署并运行捆绑包:

databricks bundle deploy
databricks bundle run daily_prep_job

有关完整的笔记本任务键集,请参阅 笔记本任务。 有关在捆绑包中定义作业的完整演练,请参阅 使用声明性自动化捆绑包开发作业

使用 CI/CD 实现自动化

若要自动验证和部署视觉数据准备捆绑包,请将它们集成到 CI/CD 管道中。 有关使用GitHub Actions的示例,请参阅GitHub Actions

其他资源