将现有资源迁移到捆绑包

生成资源包时,您可能需要包括那些已经存在且在远程工作区中已完全配置的 Databricks 资源。 可以使用 Databricks CLI bundle generate 命令在捆绑包中快速自动生成现有应用、仪表板、作业和管道的配置。 请参阅 “生成捆绑包配置文件”。 在 Databricks UI 中,可以获取某些资源(如作业和管道)的配置,此配置可以复制并手动粘贴到捆绑资源配置文件中。

为捆绑包中的资源生成配置并部署捆绑包后,使用命令将 bundle deployment bind 捆绑包中的资源绑定到工作区中的相应资源。 请参阅绑定捆绑资源

本页提供了使用 Databricks CLI 或 UI 生成或检索捆绑资源配置的简单示例。

有关捆绑包中的资源定义的详细信息,请参阅 Databricks 资产捆绑包资源

使用 Databricks CLI 生成现有作业或管道配置

若要以编程方式为现有作业或管道生成捆绑配置,请执行以下作:

  1. 从 UI 中作业或管道的 作业详细信息管道详细信息 端面板中检索现有作业或管道的 ID。 或者,使用 Databricks CLI databricks jobs listdatabricks pipelines list-pipelines 命令。

  2. 运行bundle generate job 或执行bundle generate pipelineDatabricks CLI 命令,并设置作业或管道 ID:

    databricks bundle generate job --existing-job-id 6565621249
    
    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

    此命令为捆绑包文件夹中 resources 的资源创建捆绑配置文件,并将任何引用的项目下载到该 src 文件夹中。

还可以为现有仪表板生成配置。 请参阅 “生成仪表板配置”。

使用 UI 检索现有作业定义

若要从 Azure Databricks 工作区 UI 检索现有作业定义的 YAML 表示形式:

  1. 在 Azure Databricks 工作区的边栏中,单击“工作流”

  2. 在“作业”选项卡上,单击作业的“名称”链接

  3. 在“ 立即运行 ”按钮旁边,单击烤肉串,然后单击“ 编辑为 YAML”。

  4. 复制 YAML 并将其添加到捆绑包的 databricks.yml 文件中,或者在捆绑项目的 resources 目录中为您的作业创建一个配置文件,并在 databricks.yml 文件中引用它。 查看资源

  5. 下载并将现有作业中引用的所有 Python 文件和笔记本添加到捆绑包的项目源代码中。 通常捆绑项目位于 src 捆绑包中的目录中。

    小窍门

    可以通过单击 Azure Databricks 笔记本用户界面中的>,将现有笔记本从 Azure Databricks 工作区导出为 格式。

    将笔记本、Python 文件和其他项目添加到捆绑包后,请确保作业定义正确引用它们。 例如,对于位于捆绑包的 hello.ipynb 目录中名为 src 的笔记本:

    resources:
      jobs:
        hello-job:
          name: hello-job
          tasks:
            - task_key: hello-task
              notebook_task:
                notebook_path: ../src/hello.ipynb
    

有关在 UI 中以代码的形式查看作业的详细信息,请参阅 “以代码的形式查看作业”。

使用 UI 检索现有管道定义

若要从 Azure Databricks 工作区 UI 检索现有管道定义的 YAML 表示形式:

  1. 在 Azure Databricks 工作区的边栏中,单击“工作流”

  2. DLT 选项卡上,单击 管道名称链接

  3. 单击“开发”按钮旁的串形图标,然后单击“查看设置 YAML”。

  4. 单击复制图标,将 管道设置 YAML 对话框的管道定义 YAML 复制到本地剪贴板。

  5. 将复制的 YAML 添加到您捆绑项目的 databricks.yml 文件中,或者在捆绑项目的 resources 文件夹中为流程创建一个配置文件,并在您的 databricks.yml 文件中引用它。 查看资源

  6. 下载并添加引用捆绑包项目源的任何 Python 文件和笔记本。 通常捆绑项目位于 src 捆绑包中的目录中。

    小窍门

    可以通过单击 Azure Databricks 笔记本用户界面中的>,将现有笔记本从 Azure Databricks 工作区导出为 格式。

    将笔记本、Python 文件和其他制品添加到捆绑包后,请确保流水线定义正确引用它们。 例如,对于位于捆绑包的 hello.ipynb 目录中名为 src/ 的笔记本:

    resources:
      pipelines:
        hello-pipeline:
          name: hello-pipeline
          libraries:
            - notebook:
                path: ../src/hello.ipynb
    

将资源绑定到其远端对应方

通常,将资源添加到捆绑包后,需要确保捆绑包中的资源以及工作区中的现有资源保持同步。使用 bundle deployment bind 此命令可以链接它们。 如果绑定一个资源,则会在下一 bundle deploy次根据捆绑包中定义的配置更新工作区内关联的 Azure Databricks 资源。 有关支持 bundle deployment bind 的资源列表,请参阅 绑定包资源

例如,以下命令将资源 hello_job 绑定到工作区中的远程对应资源。 它会提示进行确认,以确保在下次部署捆绑包时应将捆绑包中的作业配置更新应用到相应的远程作业。

databricks bundle deployment bind hello_job 6565621249

若要删除捆绑资源与其工作区中的对应资源之间的链接,请使用 bundle deployment unbind。 请参阅 解绑捆绑资源

databricks bundle deployment unbind 6565621249