Informationsschema
Gäller endast för: Databricks SQL Databricks Runtime 10.4 LTS och senare i Unity Catalog
INFORMATION_SCHEMA
är ett SQL-standardbaserat schema som tillhandahålls i varje katalog som skapats i Unity Catalog.
I informationsschemat hittar du en uppsättning vyer som beskriver de objekt som är kända för schemats katalog som du har behörighet att se.
Informationsschemat för SYSTEM
katalogen returnerar information om objekt i alla kataloger i metaarkivet. Systemtabeller för informationsschema innehåller inte metadata om hive_metastore
objekt.
Syftet med informationsschemat är att tillhandahålla ett SQL-baserat, självbeskrivande API för metadata.
Entitetsrelationsdiagram över informationsschemat
Följande entitetsrelationsdiagram (ER) innehåller en översikt över en delmängd av informationsschemavyer och hur de relaterar till varandra.
Informationsschemavyer
Name | beskrivning |
---|---|
CATALOG_PRIVILEGES | Listar huvudnamn som har behörighet i katalogerna. |
CATALOG_PROVIDER_SHARE_USAGE | Beskriver providerresursen monterad på kataloger. |
CATALOG_TAGS | Innehåller taggar som har tillämpats på katalogerna. |
KATALOGER | Beskriver kataloger. |
CHECK_CONSTRAINTS | Reserverad för framtida användning. |
COLUMN_MASKS | Beskriver kolumnmasker på tabellkolumner i katalogen. |
COLUMN_TAGS | Innehåller kolumntaggningsmetadata i en tabell. |
KOLUMNER | Beskriver kolumner med tabeller och vyer i katalogen. |
CONNECTION_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för de externa anslutningarna. |
ANSLUTNINGAR | Beskriver externa anslutningar. |
CONSTRAINT_COLUMN_USAGE | Beskriver begränsningarna som refererar till kolumner i katalogen. |
CONSTRAINT_TABLE_USAGE | Beskriver begränsningarna som refererar till tabeller i katalogen. |
EXTERNAL_LOCATION_PRIVILEGES | Visar en lista över huvudnamn som har behörighet på de externa platserna. |
EXTERNAL_LOCATIONS | Beskriver externa platser. |
INFORMATION_SCHEMA_CATALOG_NAME | Returnerar namnet på det här informationsschemats katalog. |
KEY_COLUMN_USAGE | Visar kolumnerna för begränsningarna för primär- eller sekundärnyckeln i katalogen. |
METASTORE_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för det aktuella metaarkivet. |
METAARKIV | Beskriver det aktuella metaarkivet. |
PARAMETRAR | Beskriver parametrar för rutiner (funktioner) i katalogen. |
LEVERANTÖRER | Beskriver providrar. |
RECIPIENT_ALLOWED_IP_RANGES | Visar tillåtna IP-intervall för mottagare. |
RECIPIENT_TOKENS | Visar en lista över token för mottagare. |
MOTTAGARE | Beskriver mottagare. |
REFERENTIAL_CONSTRAINTS | Beskriver referensbegränsningar (sekundärnyckel) som definierats i katalogen. |
ROUTINE_COLUMNS | Beskriver resultatkolumner för tabellvärdesfunktioner. |
ROUTINE_PRIVILEGES | Visar en lista över huvudnamn som har behörighet till rutinerna i katalogen. |
RUTINER | Beskriver rutiner (funktioner) i katalogen. |
ROW_FILTERS | Beskriver radfilter på tabeller i katalogen. |
SCHEMA_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för schemana i katalogen. |
SCHEMA_TAGS | Innehåller schemataggningsmetadata i schemat. |
SCHEMA_SHARE_USAGE | Beskriver de scheman som refereras till i resurser. |
SCHEMATA | Beskriver scheman i katalogen. |
SHARE_RECIPIENT_PRIVILEGES | Beskriver mottagarna som beviljats åtkomst till resurser. |
AKTIER | Beskriver resurser. |
STORAGE_CREDENTIAL_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för lagringsautentiseringsuppgifterna. |
STORAGE_CREDENTIALS | Beskriver autentiseringsuppgifter för lagring. |
TABLE_CONSTRAINTS | Beskriver metadata för alla primära och sekundärnyckelbegränsningar i katalogen. |
TABLE_PRIVILEGES | Listar huvudnamn som har behörighet för tabellerna och vyerna i katalogen. |
TABLE_SHARE_USAGE | Beskriver tabellerna som refereras i resurser. |
TABLE_TAGS | Innehåller tabelltaggningsmetadata i en tabell. |
TABELLER | Beskriver tabeller och vyer som definierats i katalogen. |
VISNINGAR | Beskriver visa specifik information om vyerna i katalogen. |
VOLYMER | Beskriver volymer som definierats i katalogen. |
VOLUME_PRIVILEGES | Listar huvudnamn som har behörighet på volymerna i katalogen. |
VOLUME_TAGS | Innehåller metadata för volymtaggning som tillämpas på en volym. |
Kommentar
Identifierare är skiftlägesokänsliga när de refereras i SQL-uttryck, men de lagras i informationsschemat som STRING
.
Detta innebär att du antingen måste söka efter dem med hjälp av det fall där identifieraren lagras eller använda funktioner som ilike.
Exempel
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Följande är exempel på arbetsflöden som använder schematabellerna för information på systemnivå.
Om du vill visa alla tabeller som har skapats under de senaste 24 timmarna kan frågan se ut så här.
> 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;
Om du vill visa hur många tabeller du har i varje schema bör du överväga följande exempel.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC