Informação schema
Aplica-se a: Databricks SQL Databricks Runtime 10.4 LTS e superior Unity Catalog apenas
O INFORMATION_SCHEMA
é um padrão SQL baseado em schema, fornecido em todos os catalog criados no Unity Catalog.
Nas informações de schema, podes encontrar uma set de views que descreve os objetos conhecidos pelos catalog do schemaque tens o privilégio de ver.
As informações schema do SYSTEM
catalog retornam dados sobre objetos em todos os catalogs no metastore. As informações do sistema schematables não contêm metadados sobre os hive_metastore
objetos.
O objetivo das informações schema é fornecer uma API autodescritiva baseada em SQL para os metadados.
Diagrama de relacionamento de entidades da informação schema
O diagrama de relacionamento de entidade (ER) a seguir fornece uma visão geral de um subconjunto de informações schemaviews e como elas se relacionam entre si.
Informação schemaviews
Nome | Descrição |
---|---|
CATALOG_PRIVILEGES | Lista principais que têm privilégios no catalogs. |
CATALOG_PROVIDER_SHARE_USAGE | Descreve a partilha do provedor montada em catalogs. |
CATALOG_TAGS | Contém tags que foram aplicadas ao catalogs. |
CATALOGS | Descreve catalogs. |
CHECK_CONSTRAINTS | Reservado para uso futuro. |
COLUMN_MASKS | Descreve column máscaras em tablecolumns no catalog. |
COLUMN_TAGS | Contém metadados de marcação column dentro de um table. |
COLUMNS | Descreve columns de tables e views no catalog. |
CONNECTION_PRIVILEGES | Lista principais que têm privilégios no connectionsestrangeiro. |
CONNECTIONS | Descreve os estrangeiros connections. |
CONSTRAINT_COLUMN_USAGE | Descreve as restrições que fazem referência a columns no catalog. |
CONSTRAINT_TABLE_USAGE | Descreve as restrições que fazem referência a tables no catalog. |
CREDENTIAL_PRIVILEGES | Lista principais que têm privilégios no credentials. |
CREDENTIALS | Descreve credentials. |
EXTERNAL_LOCATION_PRIVILEGES | Lista entidades que têm privilégios nos locais externos. |
EXTERNAL_LOCATIONS | Descreve locais externos. |
INFORMATION_SCHEMA_CATALOG_NAME | Devolve o nome desta informação schemado catalog. |
KEY_COLUMN_USAGE | Lista a columns das restrições de chave primária ou estrangeira dentro do catalog. |
METASTORE_PRIVILEGES | Lista as entidades que têm privilégios no metastore atual. |
METASTORES | Descreve o metastore atual. |
PARAMETERS | Descreve parameters de routines (funções) no catalog. |
PROVIDERS | Descreve providers. |
RECIPIENT_ALLOWED_IP_RANGES | Lista intervalos de IP permitidos para recipients. |
RECIPIENT_TOKENS | Lista tokens para recipients. |
RECIPIENTS | Descreve recipients. |
REFERENTIAL_CONSTRAINTS | Descreve restrições referenciais (chave estrangeira) definidas no catalog. |
ROUTINE_COLUMNS | Descreve o resultado columns das funções de valor table. |
ROUTINE_PRIVILEGES | Lista principais que têm privilégios no routines no catalog. |
ROUTINES | Descreve routines (funções) no catalog. |
ROW_FILTERS | Descreve os filtros de linha em tables no catalog. |
SCHEMA_PRIVILEGES | Lista entidades que têm privilégios nos esquemas no catalog. |
SCHEMA_TAGS | Contém metadados de marcação schema dentro do schema. |
SCHEMA_SHARE_USAGE | Descreve os esquemas referenciados em shares. |
SCHEMATA | Descreve esquemas dentro do catalog. |
SHARE_RECIPIENT_PRIVILEGES | Descreve o acesso recipients concedido a shares. |
SHARES | Descreve shares. |
STORAGE_CREDENTIAL_PRIVILEGES | [Preterido] Lista entidades que têm privilégios no credentialsde armazenamento. |
STORAGE_CREDENTIALS | [Preterido] Descreve o armazenamento credentials. |
TABLE_CONSTRAINTS | Descreve metadados para todas as restrições de chave primária e estrangeira dentro do catalog. |
TABLE_PRIVILEGES | Lista principais que têm privilégios no tables e views no catalog. |
TABLE_SHARE_USAGE | Descreve o tables referenciado em shares. |
TABLE_TAGS | Contém metadados de etiquetagem table dentro de um table. |
TABLES | Descreve tables e views definidos no catalog. |
VIEWS | Descreve informações específicas de visualização sobre o views no catalog. |
VOLUMES | Descreve volumes definido no catalog. |
VOLUME_PRIVILEGES | Lista os principais que têm privilégios no volumes e no catalog. |
VOLUME_TAGS | Contém metadados de marcação de volume aplicados a um volume. |
Notas
Embora os identificadores sejam insensíveis à distinção entre maiúsculas e minúsculas quando referenciados em instruções SQL, são armazenados na informação schema como STRING
.
Isso implica que deves procurá-los usando o contexto em que o identifier está armazenado, ou usar funções como ilike.
Exemplos
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
A seguir estão exemplos de fluxos de trabalho que usam as informações no nível do sistema schematables.
Se quiser ver todos os tables que foram criados nas últimas 24 horas, a sua consulta poderá ser assim.
> 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;
Se quiser ver quantos tables tem em cada schema, considere o exemplo a seguir.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC