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“问题”面板中进行诊断。
捆绑包变量视图
适用于 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}