Схема сведений
Область применения: 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 | Описывает ограничения, касающиеся ссылок на таблицы в каталоге. |
CREDENTIAL_PRIVILEGES | Выводит список субъектов , имеющих привилегии для учетных данных. |
ВЕРИТЕЛЬНЫЕ ГРАМОТЫ | Описание учетных данных. |
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