Informationsschema
Gilt für: Databricks SQL Databricks Runtime 10.4 LTS und höher Nur Unity Catalog
INFORMATION_SCHEMA
ist ein standardbasiertes SQL-Schema, das in jedem Katalog bereitgestellt wird, der in Unity Catalog erstellt wird.
Innerhalb des Informationsschemas können Sie eine Reihe von Ansichten finden, die die Objekte beschreiben, die dem Katalog des Schemas bekannt sind, den Sie anzeigen dürfen.
Das Informationsschema des SYSTEM
-Katalogs gibt Informationen zu Objekten in allen Katalogen im Metastore zurück. Informationsschema-Systemtabellen enthalten keine Metadaten zu hive_metastore
-Objekten.
Der Zweck des Informationsschemas besteht darin, eine SQL-basierte, selbst beschreibende API für die Metadaten bereitzustellen.
Entitätsbeziehungsdiagramm des Informationsschemas
Das folgende Entitätsbeziehungsdiagramm liefert einen Überblick über eine Teilmenge der Ansichten des Informationsschemas und deren Beziehung zueinander.
Informationsschemasichten
NAME | BESCHREIBUNG |
---|---|
CATALOG_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen in den Katalogen verfügen. |
CATALOG_PROVIDER_SHARE_USAGE | Beschreibt die in Kataloge eingebundene Anbieterfreigabe. |
CATALOG_TAGS | Enthält Tags, die auf die Kataloge angewendet wurden. |
KATALOGE | Beschreibt Kataloge. |
CHECK_CONSTRAINTS | Für die zukünftige Verwendung reserviert. |
COLUMN_MASKS | Beschreibt Spaltenmasken für Tabellenspalten im Katalog. |
COLUMN_TAGS | Enthält Spaltenmarkierungsmetadaten innerhalb einer Tabelle. |
SPALTEN | Beschreibt Spalten von Tabellen und Ansichten im Katalog. |
CONNECTION_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die Fremdverbindungen verfügen. |
CONNECTIONS | Beschreibt Fremdverbindungen. |
CONSTRAINT_COLUMN_USAGE | Beschreibt die Einschränkungen, die auf Spalten im Katalog verweisen. |
CONSTRAINT_TABLE_USAGE | Beschreibt die Einschränkungen, die auf Tabellen im Katalog verweisen. |
CREDENTIAL_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die Anmeldeinformationen verfügen. |
BEGLAUBIGUNGSSCHREIBEN | Beschreibt Anmeldeinformationen. |
EXTERNAL_LOCATION_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die externen Speicherorte verfügen. |
EXTERNAL_LOCATIONS | Beschreibt externe Standorte. |
INFORMATION_SCHEMA_CATALOG_NAME | Gibt den Namen des Katalogs von diesem Informationsschema zurück. |
KEY_COLUMN_USAGE | Listet die Spalten der Primär- oder Fremdschlüsseleinschränkungen im Katalog auf. |
METASTORE_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für den aktuellen Metastore verfügen. |
METASTORES | Beschreibt den aktuellen Metastore. |
PARAMETERS | Beschreibt Parameter der Routinen (Funktionen) im Katalog. |
PROVIDERS | Beschreibt Anbieter. |
RECIPIENT_ALLOWED_IP_RANGES | Listet zulässige IP-Adressbereiche für Empfänger auf. |
RECIPIENT_TOKENS | Listet Token für Empfänger auf. |
RECIPIENTS | Beschreibt Empfänger. |
REFERENTIAL_CONSTRAINTS | Beschreibt die im Katalog definierten referenziellen Einschränkungen (Fremdschlüssel). |
ROUTINE_COLUMNS | Beschreibt Ergebnisspalten von Tabellenwertfunktionen. |
ROUTINE_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die Routinen im Katalog verfügen. |
ROUTINES | Beschreibt Routinen (Funktionen) im Katalog. |
ROW_FILTERS | Beschreibt Zeilenfilter für Tabellen im Katalog. |
SCHEMA_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die Schemata im Katalog verfügen. |
SCHEMA_TAGS | Enthält Schemataggingmetadaten innerhalb des Schemas. |
SCHEMA_SHARE_USAGE | Beschreibt die Schemas, auf die in Freigaben verwiesen wird. |
SCHEMATA | Beschreibt Schemas im Katalog. |
SHARE_RECIPIENT_PRIVILEGES | Beschreibt die Empfänger, denen Zugriff auf Freigaben gewährt wird. |
SHARES | Beschreibt Freigaben. |
STORAGE_CREDENTIAL_PRIVILEGES | [Veraltet] Listet Prinzipale auf, die über Berechtigungen für die Speicheranmeldeinformationen verfügen. |
STORAGE_CREDENTIALS | [Veraltet] Beschreibt Speicheranmeldeinformationen. |
TABLE_CONSTRAINTS | Enthält Metadaten für alle Primär- und Fremdschlüsseleinschränkungen im Katalog. |
TABLE_PRIVILEGES | Listet Prinzipale auf, die Berechtigungen für die Tabellen und Ansichten im Katalog haben. |
TABLE_SHARE_USAGE | Beschreibt die Tabellen, auf die in Freigaben verwiesen wird. |
TABLE_TAGS | Enthält Tabellentaggingmetadaten innerhalb einer Tabelle. |
TABLES | Beschreibt Tabellen und Ansichten, die innerhalb des Katalogs definiert sind. |
VIEWS | Beschreibt bestimmte Informationen zu den Ansichten im Katalog. |
VOLUMES | Beschreibt im Katalog definierte Volumes. |
VOLUME_PRIVILEGES | Listet Prinzipale auf, die über Berechtigungen für die Volumes im Katalog verfügen. |
VOLUME_TAGS | Enthält Taggingmetadaten, die auf ein Volume angewandt werden. |
Notizen
Während Bezeichner bei der Referenz in SQL-Anweisungen Groß- und Kleinschreibungen nicht beachten, werden sie im Informationsschema als STRING
gespeichert.
Dies bedeutet, dass Sie entweder mit der Schreibweise suchen müssen, in der der Bezeichner gespeichert ist, oder Funktionen wie ilike verwenden.
Beispiele
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Im Folgenden finden Sie Beispiele für Workflows, die die Schematabellen der Systemebeneninformationen verwenden.
Wenn Sie alle Tabellen anzeigen möchten, die in den letzten 24 Stunden erstellt wurden, könnte Ihre Abfrage wie folgt aussehen.
> 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;
Wenn Sie sehen möchten, über wie viele Tabellen Sie in jedem Schema verfügen, sehen Sie sich das folgende Beispiel an.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC