Schema delle informazioni
Si applica a: Solo databricks SQL Databricks Runtime 10.4 LTS e versioni successive al catalogo Unity
INFORMATION_SCHEMA
è uno schema basato su SQL standard, fornito in ogni catalogo creato in Unity Catalog.
All'interno dello schema delle informazioni è possibile trovare un set di viste che descrivono gli oggetti noti al catalogo dello schema che si è privilegiati per visualizzare.
Lo schema delle informazioni del SYSTEM
catalogo restituisce informazioni sugli oggetti in tutti i cataloghi all'interno del metastore. Le tabelle di sistema dello schema informativo non contengono metadati sugli hive_metastore
oggetti.
Lo scopo dello schema delle informazioni è fornire un'API basata su SQL autodescrizione ai metadati.
Diagramma delle relazioni di entità dello schema delle informazioni
Il diagramma ER (Entity Relationship) seguente offre una panoramica di un subset di viste dello schema delle informazioni e della relativa correlazione tra loro.
Viste degli schemi delle informazioni
Nome | Descrizione |
---|---|
CATALOG_PRIVILEGES | Elenca le entità con privilegi per i cataloghi. |
CATALOG_PROVIDER_SHARE_USAGE | Descrive la condivisione del provider montata nei cataloghi. |
CATALOG_TAGS | Contiene tag applicati ai cataloghi. |
CATALOGHI | Descrive i cataloghi. |
CHECK_CONSTRAINTS | Riservato a un uso futuro. |
COLUMN_MASKS | Vengono descritte le maschere di colonna nelle colonne della tabella nel catalogo. |
COLUMN_TAGS | Contiene i metadati di assegnazione di tag alle colonne all'interno di una tabella. |
COLUMNS | Vengono descritte le colonne di tabelle e viste nel catalogo. |
CONNECTION_PRIVILEGES | Elenca le entità con privilegi per le connessioni esterne. |
CONNESSIONI | Descrive le connessioni esterne. |
CONSTRAINT_COLUMN_USAGE | Descrive i vincoli che fanno riferimento alle colonne nel catalogo. |
CONSTRAINT_TABLE_USAGE | Descrive i vincoli che fanno riferimento alle tabelle nel catalogo. |
CREDENTIAL_PRIVILEGES | Elenca le entità con privilegi per le credenziali. |
CREDENZIALI | Descrive le credenziali. |
EXTERNAL_LOCATION_PRIVILEGES | Elenca le entità con privilegi per le posizioni esterne. |
EXTERNAL_LOCATIONS | Vengono descritte le posizioni esterne. |
INFORMATION_SCHEMA_CATALOG_NAME | Restituisce il nome del catalogo dello schema delle informazioni. |
KEY_COLUMN_USAGE | Elenca le colonne dei vincoli di chiave primaria o esterna all'interno del catalogo. |
METASTORE_PRIVILEGES | Elenca le entità con privilegi per il metastore corrente. |
METASTORE | Descrive il metastore corrente. |
PARAMETERS | Descrive i parametri delle routine (funzioni) nel catalogo. |
PROVIDER | Descrive i provider. |
RECIPIENT_ALLOWED_IP_RANGES | Elenca gli intervalli IP consentiti per i destinatari. |
RECIPIENT_TOKENS | Elenca i token per i destinatari. |
DESTINATARI | Descrive i destinatari. |
REFERENTIAL_CONSTRAINTS | Descrive i vincoli referenziale (chiave esterna) definiti nel catalogo. |
ROUTINE_COLUMNS | Vengono descritte le colonne dei risultati delle funzioni con valori di tabella. |
ROUTINE_PRIVILEGES | Elenca le entità che dispongono di privilegi per le routine nel catalogo. |
ROUTINES | Descrive le routine (funzioni) nel catalogo. |
ROW_FILTERS | Descrive i filtri di riga per le tabelle nel catalogo. |
SCHEMA_PRIVILEGES | Elenca le entità che dispongono di privilegi per gli schemi nel catalogo. |
SCHEMA_TAGS | Contiene i metadati di assegnazione di tag allo schema. |
SCHEMA_SHARE_USAGE | Descrive gli schemi a cui si fa riferimento nelle condivisioni. |
SCHEMATA | Descrive gli schemi all'interno del catalogo. |
SHARE_RECIPIENT_PRIVILEGES | Descrive i destinatari a cui è stato concesso l'accesso alle condivisioni. |
AZIONI | Descrive le condivisioni. |
STORAGE_CREDENTIAL_PRIVILEGES | [Deprecato] Elenca le entità con privilegi per le credenziali di archiviazione. |
STORAGE_CREDENTIALS | [Deprecato] Descrive le credenziali di archiviazione. |
TABLE_CONSTRAINTS | Descrive i metadati per tutti i vincoli di chiave primaria ed esterna all'interno del catalogo. |
TABLE_PRIVILEGES | Elenca le entità con privilegi per le tabelle e le viste nel catalogo. |
TABLE_SHARE_USAGE | Descrive le tabelle a cui si fa riferimento nelle condivisioni. |
TABLE_TAGS | Contiene i metadati di assegnazione di tag alla tabella all'interno di una tabella. |
TABLES | Vengono descritte le tabelle e le viste definite all'interno del catalogo. |
VIEWS | Vengono descritte le informazioni specifiche sulle viste nel catalogo. |
VOLUMI | Descrive i volumi definiti nel catalogo. |
VOLUME_PRIVILEGES | Elenca le entità che dispongono di privilegi per i volumi nel catalogo. |
VOLUME_TAGS | Contiene i metadati di assegnazione di tag al volume applicati a un volume. |
Note
Anche se gli identificatori non fanno distinzione tra maiuscole e minuscole quando si fa riferimento nelle istruzioni SQL, vengono archiviati nello schema delle informazioni come STRING
.
Ciò implica che è necessario cercarli usando il caso in cui viene archiviato l'identificatore o usare funzioni come ilike.
Esempi
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Di seguito sono riportati esempi di flussi di lavoro che usano le tabelle dello schema delle informazioni a livello di sistema.
Se si desidera visualizzare tutte le tabelle create nelle ultime 24 ore, la query potrebbe essere simile alla seguente.
> 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;
Per visualizzare il numero di tabelle presenti in ogni schema, prendere in considerazione l'esempio seguente.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC