适用于: 勾选“是” Databricks SQL 勾选“是” Databricks Runtime 10.2 及更高版本 勾选“是” 仅限 Unity Catalog

INFORMATION_SCHEMA 是一个基于 SQL 标准版的架构,在 Unity Catalog 上创建的每个目录中都提供。

在信息架构中,可以找到一组视图,这些视图描述了你有权查看的架构目录中的已知对象。 SYSTEM 目录的信息架构返回有关元存储中所有目录的对象的信息。 信息架构系统表不包含有关 hive_metastore 对象的元数据。

信息架构的目的是为元数据提供基于 SQL 的自描述 API。

信息架构的实体关系图

以下实体关系 (ER) 图概述了信息架构视图子集及其相互关联的方式。

信息架构视图

虽然在 SQL 语句中引用标识符时不区分大小写,但它们在信息架构中存储为 STRING 。 这意味着必须使用标识符存储时所用大小写形式来搜索它们,或者使用诸如 ilike 之类的函数。

> SELECT table_name, column_name
    FROM information_schema.columns
    WHERE data_type = 'DOUBLE'
      AND table_schema = 'information_schema';

下面是使用系统级别信息架构表的工作流示例。

如果要查看在过去 24 小时内创建的所有表,查询可能如下所示。

> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
    FROM system.information_schema.tables
    WHERE  datediff(now(), last_altered) < 1;

如果要查看每个架构中有多少个表,请考虑以下示例。

> SELECT table_schema, count(table_name)
    FROM system.information_schema.tables
    WHERE table_schema = 'tpch'
    GROUP BY table_schema
    ORDER BY 2 DESC
  • DESCRIBE
  •