Dela via


Informationsschema

Gäller för:ikryssad ja Databricks SQL ikryssad ja Databricks Runtime 10.4 LTS och senare ikryssad ja 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.

ER-diagram över informationsschema

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 som LOWER() eller UPPER() 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.

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