Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 10.4 LTS en hoger
alleen Unity Catalog
Het INFORMATION_SCHEMA is een op SQL standaard gebaseerd schema, dat wordt geleverd in elke catalogus die is gemaakt in Unity Catalog.
Binnen het informatieschema kunt u een set weergaven vinden die de objecten beschrijven die bekend zijn in de catalogus van het schema en waar u toegang toe heeft.
Het informatieschema van de SYSTEM catalogus retourneert informatie over objecten in alle catalogi in de metastore. Systeemtabellen van informatieschema's bevatten geen metagegevens over hive_metastore objecten.
Het doel van het informatieschema is om een op SQL gebaseerde, zelf beschrijvende API voor de metagegevens te bieden.
Diagram van entiteitsrelatie van het informatieschema
Het volgende ER-diagram (Entiteitsrelatie) biedt een overzicht van een subset van informatieschemaweergaven en hoe deze zich verhouden tot elkaar.
Informatieschemaweergaven
| Naam | Beschrijving |
|---|---|
| CATALOG_PRIVILEGES | Geeft principalen weer die bevoegdheden hebben op de catalogi. |
| CATALOG_PROVIDER_SHARE_USAGE | Beschrijft de providershare die is gekoppeld aan catalogi. |
| CATALOG_TAGS | Bevat tags die zijn toegepast op de catalogi. |
| CATALOGS | Beschrijft catalogi. |
| CHECK_CONSTRAINTS | Gereserveerd voor toekomstig gebruik. |
| COLUMN_MASKS | Beschrijft kolommaskers voor tabelkolommen in de catalogus. |
| COLUMN_TAGS | Bevat metagegevens voor kolomtags in een tabel. |
| COLUMNS | Beschrijft kolommen met tabellen en weergaven in de catalogus. |
| CONNECTION_PRIVILEGES | Geeft principals weer die bevoegdheden hebben voor de externe verbindingen. |
| CONNECTIONS | Beschrijft buitenlandse verbindingen. |
| CONSTRAINT_COLUMN_USAGE | Beschrijft de beperkingen die verwijzen naar kolommen in de catalogus. |
| CONSTRAINT_TABLE_USAGE | Beschrijft de beperkingen die verwijzen naar tabellen in de catalogus. |
| CREDENTIAL_PRIVILEGES | Geeft principals weer die bevoegdheden hebben op de referenties. |
| CREDENTIALS | Beschrijft referenties. |
| EXTERNAL_LOCATION_PRIVILEGES | Lijst principals die bevoegdheden hebben op de externe locaties. |
| EXTERNAL_LOCATIONS | Beschrijft externe locaties. |
| INFORMATION_SCHEMA_CATALOG_NAME | Retourneert de naam van de catalogus van dit informatieschema. |
| KEY_COLUMN_USAGE | Hiermee worden de kolommen van de primaire of vreemde sleutelbeperkingen in de catalogus weergegeven. |
| METASTORE_PRIVILEGES | Geeft een lijst weer van principals die bevoegdheden hebben op de huidige metastore. |
| METASTORES | Beschrijft de huidige metastore. |
| PARAMETERS | Beschrijft parameters van routines (functies) in de catalogus. |
| PROVIDERS | Beschrijft aanbieders. |
| RECIPIENT_ALLOWED_IP_RANGES | Hiermee worden toegestane IP-bereiken voor ontvangers opgesomd. |
| RECIPIENT_TOKENS | Geeft tokens voor ontvangers weer. |
| RECIPIENTS | Beschrijft ontvangers. |
| REFERENTIAL_CONSTRAINTS | Beschrijft referentiƫle (vreemde sleutel) restricties die zijn gedefinieerd in de catalogus. |
| ROUTINE_COLUMNS | Beschrijft resultaatkolommen van tabelwaardefuncties. |
| ROUTINE_PRIVILEGES | Geeft principals weer die bevoegdheden hebben voor de routines in de catalogus. |
| ROUTINES | Beschrijft routines (functies) in de catalogus. |
| ROW_FILTERS | Beschrijft rijfilters op tabellen in de catalogus. |
| SCHEMA_PRIVILEGES | Geeft principals weer die bevoegdheden hebben voor de schema's in de catalogus. |
| SCHEMA_TAGS | Bevat metagegevens voor schematags in het schema. |
| SCHEMA_SHARE_USAGE | Beschrijft de schema's waarnaar wordt verwezen in gedeelde bestanden. |
| SCHEMATA | Beschrijft schema's in de catalogus. |
| SHARE_RECIPIENT_PRIVILEGES | Beschrijft de geadresseerden aan wie toegang tot de aandelen is verleend. |
| SHARES | Beschrijft aandelen. |
| STORAGE_CREDENTIAL_PRIVILEGES | [Verouderd] Lijst principals die rechten hebben op de opslagreferenties. |
| STORAGE_CREDENTIALS | [Verouderd] Beschrijft opslaggegevens. |
| TABLE_CONSTRAINTS | In deze beschrijving worden de metagegevens voor alle beperkingen van primaire en vreemde sleutels binnen de catalogus behandeld. |
| TABLE_PRIVILEGES | Somt principals op met bevoegdheden voor de tabellen en weergaven in de catalogus. |
| TABLE_SHARE_USAGE | Beschrijft de tabellen waarnaar wordt verwezen in shares. |
| TABLE_TAGS | Bevat metagegevens voor tabeltags in een tabel. |
| TABLES | Beschrijft tabellen en weergaven die zijn gedefinieerd in de catalogus. |
| VIEWS | Beschrijft weergavespecifieke informatie over de weergaven in de catalogus. |
| VOLUMES | Beschrijft volumes die zijn gedefinieerd in de catalogus. |
| VOLUME_PRIVILEGES | Lijst principalen die bevoegdheden hebben voor de volumes in de catalogus. |
| VOLUME_TAGS | Bevat metagegevens voor volumetags die zijn toegepast op een volume. |
Opmerkingen
- Mogelijk is een handmatige synchronisatie
REPAIR TABLEvereist zodat enkele wijzigingen in de catalogusmetadata worden weerspiegeld in het informatieschema. Zie REPAIR TABLE voor meer informatie. - Alle id's behalve kolom- en tagnamen worden opgeslagen in het informatieschema als kleine letters
STRING. Vermijd voor queryprestaties het gebruik van functies zoalsLOWER()ofUPPER()in de id-kolom. Vergelijk in plaats daarvan id's rechtstreeks met kleine letters. - Als u time-outs van query's wilt voorkomen, past u selectieve filters toe bij het uitvoeren van query's op het informatieschema (bijvoorbeeld
WHERE table_catalog = 'main' AND table_schema = 'default'). Raadpleeg de bovenstaande documentatie voor een volledige lijst met kolommen die kunnen worden gebruikt als filters voor elke tabel Informatieschema.- Houd er rekening mee dat
LIMITpushdown momenteel niet wordt ondersteund, dus hoewel deze de resultaten kan afkappen, worden de prestaties niet verbeterd.
- Houd er rekening mee dat
Voorbeelden
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Hier volgen voorbeelden van werkstromen die gebruikmaken van de schematabellen op systeemniveau.
Als u alle tabellen wilt weergeven die in de afgelopen 24 uur zijn gemaakt, kan uw query er als volgt uitzien.
> 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;
Als u wilt weergeven hoeveel tabellen u in elk schema hebt, bekijkt u het volgende voorbeeld.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC