浏览数据库对象

本文详细介绍如何在 Azure Databricks 中发现和浏览目录、架构、表和其他数据库对象。 本文中的说明重点介绍如何返回你对其至少拥有 BROWSESELECT 特权的数据库对象的详细信息。

有关 Unity Catalog 特权的常规信息,请参阅 Unity Catalog 特权和安全对象。 若要了解如何使用目录资源管理器来设置架构所有权和权限,请参阅在目录资源管理器中管理 Unity Catalog 对象所有权在目录资源管理器中管理 Unity Catalog 权限

对数据库对象的大多数访问都受 Unity Catalog 管控,但你的公司可能会使用另一种数据治理方法,或者将 Unity Catalog 与其他旧表 ACL 结合使用。 本文重点介绍由 Unity Catalog 治理的对象的行为,但本文中所述的大多数方法也适用于不受 Unity Catalog 治理的数据库对象。

本文包含目录资源管理器和 SQL 的说明。 选择工作区侧栏中的 “目录”图标“目录”图标以访问目录资源管理器。 可以从笔记本或计算附加的查询编辑器执行 SQL 命令。 若要使用 Catalog Explorer 查看数据库对象,你必须至少具有对象的 BROWSE 特权。 若要使用 SQL 查看数据库对象,你必须至少具有对象的 SELECT 特权,以及父目录的 USE CATALOG 特权和父架构的 USE SCHEMA 特权。

注意

可以在目录资源管理器中导航 Unity Catalog 管控的数据库对象,而无需活动计算。 若要浏览 hive_metastore 中的数据和不受 Unity Catalog 管控的其他目录,必须为计算附加相应的特权。

筛选数据库对象

使用目录资源管理器对数据库对象进行交互式浏览期间,可以使用提供的文本框来筛选结果。 对象名称中的匹配字符串将突出显示,但仅在当前可见的数据库对象之间显示。 有关所有数据库对象的完整搜索,请参阅搜索工作区对象

SQL 通过有选择地指定与 SHOW 语句结合使用的 regex_pattern 子句来提供类似的功能,例如:

SHOW TABLES IN schema_name LIKE 'sales_*_fy23'

浏览目录

目录表示每个 Unity Catalog 元存储中的数据治理的顶层。

Sql

运行以下命令以查看可用的目录列表。

SHOW CATALOGS

请参阅 SHOW CATALOGS

目录资源管理器

访问目录资源管理器时,会显示可用的目录列表。

选择目录

Sql

运行以下命令以设置当前活动的目录。

USE CATALOG catalog_name

请参阅 USE CATALOG

目录资源管理器

单击目录名称以将其选中。

查看目录详细信息

Sql

运行以下命令以描述目录。

DESCRIBE CATALOG catalog_name

请参阅 DESCRIBE CATALOG

目录资源管理器

选择“详细信息”选项卡以查看目录详细信息

探索架构

架构是 Unity Catalog 中的表、视图、卷、函数和模型的集合。 架构包含在目录中。

Sql

运行以下命令以查看可用的架构列表。

SHOW SCHEMAS IN catalog_name

请参阅 SHOW SCHEMAS

目录资源管理器

在目录资源管理器中选择目录时,会显示可用的架构列表。

选择架构

Sql

运行以下命令以设置当前活动的架构。

USE schema catalog_name.schema_name

请参阅 USE SCHEMA

目录资源管理器

单击架构名称以将其选中。

查看架构详细信息

Sql

运行以下命令以描述架构。

DESCRIBE SCHEMA schema_name

请参阅 DESCRIBE SCHEMA

目录资源管理器

选择“详细信息”选项卡以查看架构详细信息

浏览表和视图

表和视图包含在架构中。 Unity Catalog 中的大多数表都由 Delta Lake 提供支持,但你可能也有权访问针对外部数据注册的表。 请参阅可以使用 Azure Databricks 查询哪些数据?

Unity Catalog 中的视图始终引用另一个表中的数据。

Sql

运行以下命令以查看可用的表列表。

SHOW TABLES IN catalog_name.schema_name

运行以下命令以查看可用的表列表。

SHOW VIEWS IN catalog_name.schema_name

请参阅 SHOW TABLESSHOW VIEWS

目录资源管理器

在目录资源管理器中选择架构时,会显示可用的表和视图列表。

注意

如果架构中存在其他数据库对象(如卷),则可能需要单击“表”来展开表和视图的列表

查看表内容和详细信息

可以使用目录资源管理器或 SQL 查看大多数表详细信息。 某些详细信息仅在目录资源管理器用户界面中显示。

在目录资源管理器中选择一个表,以浏览表详细信息。

浏览表列

Sql

运行以下命令以查看表列。

SHOW COLUMNS IN table_name

请参阅 SHOW COLUMNS

目录资源管理器

选择“列”选项卡以查看表列

查看示例数据

Sql

运行以下命令以查看表中的 1000 个记录。

SELECT * FROM table_name LIMIT 1000;

请参阅查询数据

目录资源管理器

选择“示例数据”选项卡以查看示例数据。 必须拥有访问活动计算的权限才能查看示例数据。

查看表详细信息

Sql

运行以下命令以描述表。

DESCRIBE TABLE table_name

运行以下命令以显示表的表属性。

SHOW TBLPROPERTIES table_name

请参阅 DESCRIBE TABLESHOW TBLPROPERTIES

目录资源管理器

选择“详细信息”选项卡以查看表详细信息,包括表属性

查看表历史记录

表历史记录可用于 Delta 表。 所有 Unity Catalog 托管表都是 Delta 表。

Sql

运行以下命令以查看表历史记录。

DESCRIBE HISTORY table_name

请参阅 DESCRIBE HISTORY

目录资源管理器

选择“历史记录”选项卡以查看表历史记录

查看频繁查询和用户

如果表在 Unity Catalog 中注册,则可以使用目录资源管理器查看过去 30 天内对该表进行过的最频繁查询和访问过该表的用户。 请参阅查看表的频繁查询和用户

查看主键和外键关系

对于定义的外键的表,请单击“列”选项卡右上角的“查看关系”按钮“查看关系”。实体关系图 (ERD) 打开。 ERD 在图形中显示表之间的主键和外键关系,提供数据实体连接方式的清晰直观表示形式。

实体关系图

有关主键和外键约束的详细信息,请参阅 Azure Databricks 上的约束