Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применяется к:
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