You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Notebook中获取Databricks Asset Bundles创建的Schema名称?

获取DAB部署后实际生成的Schema名称方法

下面是几种在Notebook中获取DAB部署后带前缀的实际Schema名称的可行方案:

方法1:利用DAB输出变量传递

在DAB的YAML配置中导出实际Schema名称作为输出变量,再传递给Notebook:

  1. 修改DAB配置文件,添加输出定义:
resources:
  schemas:
    my_schema:
      name: my_schema_name
      catalog_name: my_catalog
outputs:
  actual_schema_name: "{{ resources.schemas.my_schema.name }}"
  1. 部署完成后,在Notebook中通过作业参数读取该值:
actual_schema = dbutils.widgets.get("actual_schema_name")

方法2:通过系统信息模式查询

直接查询Databricks内置的信息模式,根据原始名称匹配带前缀的实际Schema:

SELECT schema_name
FROM system.information_schema.schemata
WHERE catalog_name = 'my_catalog'
AND schema_name LIKE '%my_schema_name'

如果前缀规则固定(比如环境_用户名_),可以用正则更精准匹配:

SELECT schema_name
FROM system.information_schema.schemata
WHERE catalog_name = 'my_catalog'
AND schema_name REGEXP '^[a-z]+_[a-z0-9_]+_my_schema_name$'

在Notebook中执行上述SQL后,提取结果即可得到实际名称。

方法3:读取DAB部署状态文件

DAB部署后会生成状态文件(默认路径为.databricks/bundle/state.json),其中包含所有资源的实际信息,可在Notebook中解析该文件:

import json

with open(".databricks/bundle/state.json", "r") as f:
    deploy_state = json.load(f)
actual_schema_name = deploy_state["resources"]["schemas"]["my_schema"]["name"]

注意:此方法要求Notebook所在环境能访问到DAB的部署状态文件,适合同部署环境的Workspace使用。

内容的提问来源于stack exchange,提问作者Siggerud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 06:42:03