Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Databricks SQL
Databricks Runtime 10.4 LTS och senare
endast Unity Catalog
INFORMATION_SCHEMA
är ett SQL-standardbaserat schema som tillhandahålls i varje katalog som skapas 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
Namn | beskrivning |
---|---|
CATALOG_PRIVILEGES | Listar huvudansvariga som har privilegier på katalogerna. |
CATALOG_PROVIDER_SHARE_USAGE | Beskriver providerandel monterad på kataloger. |
CATALOG_TAGS | Innehåller taggar som har tillämpats på katalogerna. |
CATALOGS | 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. |
COLUMNS | Beskriver kolumner med tabeller och vyer i katalogen. |
CONNECTION_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för de externa anslutningarna. |
CONNECTIONS | 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. |
CREDENTIAL_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för autentiseringsuppgifterna. |
CREDENTIALS | Beskriver autentiseringsuppgifter. |
EXTERNAL_LOCATION_PRIVILEGES | Visar en lista över huvudaktörer som har rättigheter till 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 primär- eller utländska nyckelbegränsningarna i katalogen. |
METASTORE_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för det aktuella metaarkivet. |
METASTORES | Beskriver det aktuella metadatalager. |
PARAMETERS | Beskriver parametrar för rutiner (funktioner) i katalogen. |
PROVIDERS | Beskriver leverantörer. |
RECIPIENT_ALLOWED_IP_RANGES | Visar tillåtna IP-intervall för mottagare. |
RECIPIENT_TOKENS | Visar en lista över token för mottagare. |
RECIPIENTS | Beskriver mottagare. |
REFERENTIAL_CONSTRAINTS | Beskriver referensbegränsningar (främmande nyckel) 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. |
ROUTINES | 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 delar. |
SCHEMATA | Beskriver scheman i katalogen. |
SHARE_RECIPIENT_PRIVILEGES | Beskriver mottagarna som beviljats åtkomst till andelar. |
SHARES | Beskriver aktier. |
STORAGE_CREDENTIAL_PRIVILEGES | [Inaktuell] Visar en lista över huvudnamn som har behörighet för lagringsautentiseringsuppgifterna. |
STORAGE_CREDENTIALS | [Inaktuell] Beskriver autentiseringsuppgifter för lagring. |
TABLE_CONSTRAINTS | Beskriver metadata för alla primära och sekundärnyckelbegränsningar i katalogen. |
TABLE_PRIVILEGES | Listar aktörer som har behörighet för tabeller och vyer i katalogen. |
TABLE_SHARE_USAGE | Beskriver tabellerna som refereras i andelar. |
TABLE_TAGS | Innehåller tabelltaggningsmetadata i en tabell. |
TABLES | Beskriver tabeller och vyer som definierats i katalogen. |
VIEWS | Beskriver specifik information om vyerna i katalogen. |
VOLUMES | Beskriver volymer som definierats i katalogen. |
VOLUME_PRIVILEGES | Listar ansvariga som har behörigheter på volymerna i katalogen. |
VOLUME_TAGS | Innehåller metadata för volymtaggning som tillämpas på en volym. |
Anteckningar
- En manuell synkronisering med
REPAIR TABLE
kan krävas för att vissa ändringar av katalogmetadata ska återspeglas i informationsschemat. Mer information finns i REPAIR TABLE. - Alla identifierare utom kolumn- och taggnamn lagras i informationsschemat som små bokstäver
STRING
. Undvik att använda funktioner somLOWER()
ellerUPPER()
i identifierarkolumnen för frågeprestanda. Jämför istället identifierare direkt med hjälp av gemener. - Om du vill förhindra tidsgränser för frågor använder du selektiva filter när du kör frågor mot informationsschemat (t.ex.
WHERE table_catalog = 'main' AND table_schema = 'default'
). I dokumentationen ovan finns en fullständig lista över kolumner som kan användas som filter för varje informationsschematabell.- Observera att
LIMIT
pushdown inte stöds för närvarande, så även om det kan begränsa resultaten förbättras inte prestandan.
- Observera att
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