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

非高级版Databricks账户如何编程列出目录/架构/表?

非高级版Databricks账户编程列目录/架构/表的方法

非高级版Databricks使用的是工作区级元数据存储,而非Unity Catalog,你可以通过以下几种编程方式列出资源:

1. Spark SQL API(推荐)

Spark本身可以直接访问工作区的元数据,无需依赖Unity Catalog:

列出所有数据库(架构)

# 用PySpark执行SQL
databases = spark.sql("SHOW DATABASES").collect()
for db in databases:
    print(db.databaseName)

列出指定数据库下的表

target_db = "your_database_name"
tables = spark.sql(f"SHOW TABLES IN {target_db}").collect()
for table in tables:
    print(table.tableName)

查看资源详情

如果需要更详细的信息,比如数据库位置、表结构,可以用:

-- 查看数据库详情
DESCRIBE DATABASE EXTENDED your_database_name;

-- 查看表详情
DESCRIBE TABLE EXTENDED your_database_name.your_table_name;

2. Databricks REST API

通过调用工作区的REST接口获取元数据,需要使用个人访问令牌(PAT)认证:

获取数据库列表

import requests

databricks_host = "https://<你的工作区URL>"
auth_token = "<你的个人访问令牌>"

headers = {"Authorization": f"Bearer {auth_token}"}
response = requests.get(f"{databricks_host}/api/2.0/preview/sql/databases", headers=headers)
databases = response.json()["databases"]

for db in databases:
    print(db["name"])

获取指定数据库的表

params = {"schemaName": "your_database_name"}
response = requests.get(f"{databricks_host}/api/2.0/preview/sql/tables", headers=headers, params=params)
tables = response.json()["tables"]

for table in tables:
    print(table["name"])

3. Databricks CLI

如果用脚本自动化,可以通过Databricks CLI执行命令并解析输出:

先配置CLI

databricks configure --token

列出所有数据库

databricks sql databases list --output json | jq -r '.databases[].name'

列出指定数据库的表

databricks sql tables list --schema-name your_database_name --output json | jq -r '.tables[].name'

以上方法均无需Unity Catalog,适用于非高级版Databricks账户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:52:35