Databricks 资产捆绑包扩展功能

适用于 Visual Studio Code 的 Databricks 扩展提供 Visual Studio Code 的其他功能,使您能够轻松定义、部署和运行 Databricks 资产捆绑包,以将 CI/CD 最佳做法应用于 Azure Databricks 作业、增量实时表管道和 MLOps Stacks。 请参阅什么是 Databricks 资产捆绑包?

若要安装适用于 Visual Studio Code 的 Databricks 扩展,请参阅安装适用于 Visual Studio Code 的 Databricks 扩展

项目中的 Databricks 资产捆绑包支持

适用于 Visual Studio Code 的 Databricks 扩展为 Databricks 资产捆绑包项目添加了以下功能:

  • 通过 Visual Studio Code UI 轻松对 Databricks 资产捆绑包进行身份验证和配置,包括 AuthType 配置文件选择。 请参阅Visual Studio Code 的 Databricks 扩展的身份验证设置
  • Databricks 扩展面板中的“目标”选择器可在捆绑包目标环境之间快速切换。 请参阅更改目标部署工作区
  • 扩展面板中的“替代捆绑包中的作业群集”选项可启用简单的群集替代。
  • 捆绑包资源浏览器”视图,可以使用 Visual Studio Code UI 浏览捆绑包资源,只需单击一下鼠标即可将本地 Databricks 资产捆绑包的资源部署到远程 Azure Databricks 工作区,然后直接从 Visual Studio Code 转到工作区中已部署的资源。 请参阅捆绑包资源浏览器
  • 捆绑包变量视图,可以使用 Visual Studio Code UI 浏览和编辑捆绑包变量。 请参阅捆绑包变量视图

捆绑包资源浏览器

适用于 Visual Studio Code 的 Databricks 扩展中的“捆绑包资源浏览器”视图使用项目捆绑包配置中的作业和管道定义来显示资源。 它还可以部署和运行资源,并在远程 Azure Databricks 工作区中导航到这些设置。 有关捆绑包配置资源的信息,请参阅资源

例如,给定一个简单的作业定义:

resources:
  jobs:
    my-notebook-job:
      name: "My Notebook Job"
      tasks:
        - task_key: notebook-task
          existing_cluster_id: 1234-567890-abcde123
          notebook_task:
            notebook_path: notebooks/my-notebook.py

扩展中的“捆绑包资源浏览器”视图显示笔记本作业资源:

捆绑包资源浏览器

若要部署捆绑包,请单击云(“部署捆绑包”)图标。

部署捆绑包

若要运行作业,请在“捆绑包资源浏览器”视图中,选择作业的名称,在本示例中为“我的笔记本作业”。 接下来,单击“播放”(“部署捆绑包并运行资源”)图标。

部署捆绑包并运行资源

若要查看正在运行的作业,请在“捆绑包资源浏览器”视图中展开作业名称,单击“运行状态”,然后单击“链接”(“在外部打开链接”)图标。

在外部打开作业链接

捆绑包变量视图

适用于 Visual Studio Code 的 Databricks 扩展中的“捆绑包变量视图”视图显示捆绑包配置中定义的任何自定义变量和关联设置。 还可以使用“捆绑包变量视图”直接定义变量。 这些值替代捆绑包配置文件中设置的值。 有关自定义变量的信息,请参阅自定义变量

例如,扩展中的“捆绑包变量视图”视图将显示以下内容:

捆绑包变量视图

对于此捆绑包配置中定义的变量 my_custom_var

variables:
  my_custom_var:
    description: "Max workers"
    default: "4"

resources:
  jobs:
    my_job:
      name: my_job

      tasks:
        - task_key: notebook_task
          job_cluster_key: job_cluster
          notebook_task:
            notebook_path: ../src/notebook.ipynb

      job_clusters:
        - job_cluster_key: job_cluster
          new_cluster:
            spark_version: 13.3.x-scala2.12
            node_type_id: i3.xlarge
            autoscale:
                min_workers: 1
                max_workers: ${var.my_custom_var}