SuperAPI AI 工具集

databricks-asset-bundles

部署与运维

查看项目

更新于 10-16 05:30

技能介绍

用途

Databricks Asset Bundles (DABs) Writer 用于创建和配置 Databricks Asset Bundles,重点支持多环境(dev/staging/prod)部署。适用于创建新的 DAB 或调整现有 DAB 配置的场景。

主要能力

该技能指导生成标准的 Bundle 结构:项目根目录下的 databricks.yml 主配置,resources/*.yml 资源定义文件,以及 src/ 目录存放代码和仪表板文件。

主配置 databricks.yml 支持 bundle.name、include、variables 和 targets。variables 可定义 catalog、schema、warehouse_id,其中 warehouse_id 支持通过 warehouse 名称查找。targets 可为 dev 和 prod 等环境分别设置 mode(development 或 production)、workspace profile 及变量覆盖值。

资源类型方面,技能提供了以下示例:

  • 仪表板资源:支持 display_name、file_path、warehouse_id、dataset_catalog、dataset_schema 和 permissions。dataset_catalog 与 dataset_schema 参数在 Databricks CLI 0.281.0(2026 年 1 月)新增,用于指定仪表板内所有数据集的默认 catalog 和 schema。权限级别包括 CAN_READ、CAN_RUN、CAN_EDIT、CAN_MANAGE。
  • 作业资源:包含 tasks(如 notebook_task)、new_cluster(spark_version、node_type_id、num_workers)、schedule(quartz_cron_expression、timezone_id)和 permissions。作业权限级别包括 CAN_VIEW、CAN_MANAGE_RUN、CAN_MANAGE。注意无法修改作业上 "admins" 组的权限,使用前需确认自定义组存在。
  • 卷资源:包含 catalog_name、schema_name、name、volume_type(如 MANAGED)。卷使用 grants 而非 permissions,格式与其他资源不同。
  • 应用资源:支持从现有 CLI 部署的应用生成 Bundle 配置(databricks bundle generate app),也可手动配置。应用的环境变量在源码目录的 app.yaml 中定义,而不是在 databricks.yml 中。

流水线配置参考 SDP_guidance.md,SQL 告警参考 alerts_guidance.md(其 schema 与其他资源差异显著)。此外还支持 schemas、models、experiments、clusters、warehouses 等,可用 databricks bundle schema 查看。

使用方式

技能规定了关键的路径解析规则:resources/*.yml 中引用文件使用 ../src/...,而 databricks.yml 的 targets 中使用 ./src/...。原因是 resources/ 下的文件深一层,需用 ../ 回到包根目录。

常用 CLI 命令包括:

  • 验证:databricks bundle validate [-t prod]
  • 部署:databricks bundle deploy [-t prod] [--auto-approve] [--force]
  • 运行:databricks bundle run resource_name [-t prod];应用资源部署后需运行 bundle run 才能启动
  • 查看日志:databricks apps logs <app-name> --profile <profile-name>,日志会显示 [SYSTEM] 部署进度和 [APP] 应用输出
  • 清理:databricks bundle destroy [-t prod] [--auto-approve]

适用场景与限制

适用于需要在 Databricks 上进行多环境声明式部署的团队,覆盖作业、流水线、仪表板、应用、卷等资源的统一管理。限制和注意事项包括:路径解析必须遵循上述规则;卷使用 grants 而非 permissions;作业无法修改 admins 组权限;应用的环境变量位于 app.yaml 而非 databricks.yml;仪表板中硬编码 catalog 应改用 dataset_catalog 参数(CLI v0.281.0+);应用部署后需运行 bundle run 启动;排查应用问题第一步是查看 databricks apps logs。

相关技能:databricks-spark-declarative-pipelines、databricks-app-apx、databricks-app-python、databricks-config、databricks-jobs。