Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к:
Databricks SQL
Databricks Runtime 10.4 LTS и выше
только для каталога Unity.
В каталоге SYSTEMINFORMATION_SCHEMA используется стандартная схема SQL, которая предоставляет метаданные о объектах во всех каталогах в хранилище метаданных. Он не содержит метаданных об hive_metastore объектах.
Отдельно каждый каталог, созданный в Unity Catalog, также автоматически включает information_schema метаданные только об объектах в этом каталоге.
Оба типа схем информации автоматически фильтруют результаты, чтобы включить только объекты, к которых у вас есть права доступа к каталогу Unity. Это поведение отличается от других системных таблиц Azure Databricks. Узнайте , как системные таблицы информационной схемы обрабатывают разрешения.
Цель схемы сведений — предоставить самоописывающееся API на основе SQL с учетом привилегий для доступа к метаданным каталога.
Как системные таблицы схемы информации обрабатывают разрешения
system.information_schema отличается от других системных таблиц в том, что он реализует автоматическую фильтрацию. Это означает, что вы видите только объекты (каталоги, схемы, таблицы, столбцы и т. д.), к которым вы имеете права доступа в каталоге Unity. Если ваши привилегии изменяются, то, что вы видите в схеме сведений, изменяется соответствующим образом. Например, при запросе information_schema.tablesвозвращаются только строки для таблиц с разрешением на просмотр.
Как и все остальные системные таблицы, вам нужны явные USE и SELECT разрешения для доступа и запроса из схемы информации.
Диаграмма отношений сущностей информационной схемы
На следующей схеме связи сущностей (ER) представлен обзор подмножества представлений схемы информации и их связи друг с другом.
Представления информационной схемы
| Имя | Описание |
|---|---|
| CATALOG_PRIVILEGES | Выводит список субъектов , имеющих привилегии в каталогах. |
| CATALOG_PROVIDER_SHARE_USAGE | Описывает часть поставщика, установленную в каталогах. |
| CATALOG_TAGS | Содержит теги, примененные к каталогам. |
| CATALOGS | Описывает каталоги. |
| CHECK_CONSTRAINTS | Зарезервировано для последующего использования. |
| COLUMN_MASKS | Описывает маски столбцов на столбцах таблицы в каталоге. |
| COLUMN_TAGS | Содержит метаданные тегов столбцов в таблице. |
| COLUMNS | Описывает столбцы таблиц и представления в каталоге. |
| CONNECTION_PRIVILEGES | Перечисляет субъекты , имеющие привилегии для внешних подключений. |
| CONNECTIONS | Описывает иностранные соединения. |
| CONSTRAINT_COLUMN_USAGE | Описывает ограничения, касающиеся ссылок на столбцы в каталоге. |
| CONSTRAINT_TABLE_USAGE | Описывает ограничения, касающиеся ссылок на таблицы в каталоге. |
| CREDENTIAL_PRIVILEGES | Выводит список субъектов, имеющих привилегии в учетных данных. |
| CREDENTIALS | Описание учетных данных. |
| EXTERNAL_LOCATION_PRIVILEGES | Перечисляет субъекты , имеющие привилегии во внешних расположениях. |
| EXTERNAL_LOCATIONS | Описание внешних расположений. |
| INFORMATION_SCHEMA_CATALOG_NAME | Возвращает имя каталога этой схемы сведений. |
| KEY_COLUMN_USAGE | Перечисляет столбцы ограничений первичного или внешнего ключа в пределах каталога. |
| METASTORE_PRIVILEGES | Перечисляет субъекты , имеющие привилегии в текущем хранилище метаданных . |
| METASTORES | Описывает текущее хранилище метаданных. |
| PARAMETERS | Описывает параметры подпрограмм (функций) в каталоге. |
| PROVIDERS | Описывает поставщиков. |
| RECIPIENT_ALLOWED_IP_RANGES | Выводит список разрешенных диапазонов IP-адресов для получателей. |
| RECIPIENT_TOKENS | Перечисляет токены для получателей. |
| RECIPIENTS | Описывает получателей. |
| REFERENTIAL_CONSTRAINTS | Описывает ограничения ссылочного (внешнего) ключа, определенного в каталоге. |
| ROUTINE_COLUMNS | Описывает столбцы результатов функций табличного типа. |
| ROUTINE_PRIVILEGES | Перечисляет субъекты, имеющие привилегии для процедур в каталоге. |
| ROUTINES | Описывает подпрограммы (функции) в каталоге. |
| ROW_FILTERS | Описывает фильтры строк в таблицах в каталоге. |
| SCHEMA_PRIVILEGES | Перечисляет субъекты , имеющие привилегии для схем в каталоге. |
| SCHEMA_TAGS | Метаданные тегов схемы содержатся внутри самой схемы. |
| SCHEMA_SHARE_USAGE | Описывает схемы, на которые ссылаются общие ресурсы. |
| SCHEMATA | Описывает схемы в каталоге. |
| SHARE_RECIPIENT_PRIVILEGES | Описывает получателей, которым предоставлен доступ к ресурсам. |
| SHARES | Описание акций. |
| STORAGE_CREDENTIAL_PRIVILEGES | [Не рекомендуется] Выводит список субъектов , имеющих права доступа к учетным данным хранилища. |
| STORAGE_CREDENTIALS | [Не рекомендуется] Описывает учетные данные хранения. |
| TABLE_CONSTRAINTS | Описывает метаданные для всех ограничений первичного и внешнего ключа в каталоге. |
| TABLE_PRIVILEGES | Перечисляет субъекты , имеющие привилегии для таблиц и представлений в каталоге. |
| TABLE_SHARE_USAGE | Описывает таблицы, на которые ссылаются общие папки. |
| TABLE_TAGS | Содержит метаданные тегов таблицы в таблице. |
| TABLES | Описывает таблицы и представления, определенные в каталоге. |
| VIEWS | Описывает специфическую информацию о представлениях в каталоге. |
| VOLUMES | Описывает тома, определенные в каталоге. |
| VOLUME_PRIVILEGES | Выводит список субъектов , имеющих права доступа к томам в каталоге. |
| VOLUME_TAGS | Содержит метаданные объемов, связанные с томом. |
Примечания.
- Схема сведений реализует фильтрацию с учетом привилегий. Вы автоматически видите только объекты, к которых у вас есть разрешения каталога Unity. Узнайте , как системные таблицы информационной схемы обрабатывают разрешения.
- Для некоторых изменений метаданных каталога может понадобиться ручная синхронизация с использованием
REPAIR TABLE, чтобы они отразились в информационной схеме. Дополнительные сведения см. в разделе REPAIR TABLE. - Все идентификаторы , кроме имен столбцов и тегов, хранятся в схеме сведений в нижнем регистре
STRING. Для повышения производительности запросов избегайте использования таких функций, какLOWER()илиUPPER()на столбце идентификатора. Вместо этого сравнивайте идентификаторы непосредственно с использованием строчных значений. - Чтобы предотвратить истечение времени ожидания запроса, при запросе схемы информации применяются выборочные фильтры (например,
WHERE table_catalog = 'main' AND table_schema = 'default'). См. документацию выше для полного списка столбцов, которые можно использовать в качестве фильтров для каждой таблицы информационной схемы.- Обратите внимание, что
LIMITpushdown в настоящее время не поддерживается, поэтому, хотя он может усечь результаты, это не улучшит производительность.
- Обратите внимание, что
Примеры
> 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