Схема сведений

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 10.4 LTS и более поздней проверка помечены да версии каталога Unity

Это INFORMATION_SCHEMA стандартная схема на основе SQL, предоставляемая в каждом каталоге, созданном в каталоге Unity.

В схеме сведений можно найти набор представлений, описывающих объекты, известные каталогу схемы, который вы привилегированны. Схема сведений каталога SYSTEM возвращает сведения об объектах во всех каталогах в хранилище метаданных. Системные таблицы информационной схемы не содержат метаданные об hive_metastore объектах.

Назначение схемы сведений состоит в том, чтобы предоставить основанный на SQL API с самоописанием для метаданных.

Схема отношений сущностей схемы сведений

На следующей схеме связи сущностей (ER) представлен обзор подмножества представлений схемы информации и их связи друг с другом.

Диаграмма отношений сущностей для схемы сведений

Представления информационной схемы

Имя Описание
CATALOG_PRIVILEGES Выводит список субъектов , имеющих привилегии в каталогах.
CATALOG_PROVIDER_SHARE_USAGE Описывает общий доступ поставщика, подключенный к каталогам.
CATALOG_TAGS Содержит теги, примененные к каталогам.
CATALOGS Описывает каталоги.
CHECK_CONSTRAINTS Зарезервировано для последующего использования.
COLUMN_MASKS Описывает маски столбцов в столбцах таблицы в каталоге.
COLUMN_TAGS Содержит метаданные тегов столбцов в таблице.
COLUMNS Описывает столбцы таблиц и представления в каталоге.
CONNECTION_PRIVILEGES Перечисляет субъекты , имеющие привилегии для внешних подключений.
СОЕДИНЕНИЯ Описывает внешние подключения.
CONSTRAINT_COLUMN_USAGE Описывает ограничения, касающиеся ссылок на столбцы в каталоге.
CONSTRAINT_TABLE_USAGE Описывает ограничения, касающиеся ссылок на таблицы в каталоге.
EXTERNAL_LOCATION_PRIVILEGES Перечисляет субъекты , имеющие привилегии во внешних расположениях.
EXTERNAL_LOCATIONS Описание внешних расположений.
INFORMATION_SCHEMA_CATALOG_NAME Возвращает имя каталога этой информационной схемы.
KEY_COLUMN_USAGE Выводит список столбцов ограничений первичного или внешнего ключа в каталоге.
METASTORE_PRIVILEGES Перечисляет субъекты , имеющие привилегии в текущем хранилище метаданных .
ХРАНИЛИЩА МЕТАДАННЫХ Описывает текущее хранилище метаданных.
PARAMETERS Описывает параметры подпрограмм (функций) в каталоге.
ПОСТАВЩИКОВ Описывает поставщиков.
RECIPIENT_ALLOWED_IP_RANGES Выводит список разрешенных диапазонов IP-адресов для получателей.
RECIPIENT_TOKENS Перечисляет маркеры для получателей.
ПОЛУЧАТЕЛЕЙ Описывает получателей.
REFERENTIAL_CONSTRAINTS Описывает ограничения ссылочного (внешнего) ключа, определенного в каталоге.
ROUTINE_COLUMNS Описывает столбцы результатов функций с табличным значением.
ROUTINE_PRIVILEGES Перечисляет субъекты , имеющие привилегии для подпрограмм в каталоге.
ROUTINES Описывает подпрограммы (функции) в каталоге.
ROW_FILTERS Описывает фильтры строк в таблицах в каталоге.
SCHEMA_PRIVILEGES Перечисляет субъекты , имеющие привилегии для схем в каталоге.
SCHEMA_TAGS Содержит метаданные тегов схемы в схеме.
SCHEMA_SHARE_USAGE Описывает схемы, на которые ссылаются общие папки.
SCHEMATA Описывает схемы в каталоге.
SHARE_RECIPIENT_PRIVILEGES Описывает получателей, которым предоставлен доступ к общим папкам.
АКЦИЙ Описание общих папок.
STORAGE_CREDENTIAL_PRIVILEGES Выводит список субъектов , имеющих права доступа к учетным данным хранилища.
STORAGE_CREDENTIALS Описывает учетные данные хранения.
TABLE_CONSTRAINTS Описывает метаданные для всех ограничений первичного и внешнего ключа в каталоге.
TABLE_PRIVILEGES Перечисляет субъекты , имеющие привилегии для таблиц и представлений в каталоге.
TABLE_SHARE_USAGE Описывает таблицы, на которые ссылаются общие папки.
TABLE_TAGS Содержит метаданные тегов таблицы в таблице.
TABLES Описывает таблицы и представления, определенные в каталоге.
VIEWS Предоставляет сведения о представлениях в каталоге.
ОБЪЕМЫ Описывает тома, определенные в каталоге.
VOLUME_PRIVILEGES Выводит список субъектов , имеющих права доступа к томам в каталоге.
VOLUME_TAGS Содержит метаданные тегов тома, примененные к тому.

Примечания.

Хотя идентификаторы не учитывают регистр при создании ссылок в инструкциях 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