Verzeichnistabellen

Unter diesem Thema werden die wichtigsten Konzepte vorgestellt, zusätzliche Informationen bereitgestellt und Links zu Anleitungen für die Verwendung von Verzeichnistabellen angegeben.

Unter diesem Thema:

Was ist eine Verzeichnistabelle?

Eine Verzeichnistabelle ist ein implizites Objekt auf Ebene eines Stagingbereichs (kein separates Datenbankobjekt). Sie ist konzeptionell einer externen Tabelle ähnlich, da sie Metadaten über die Datendateien im Stagingbereich auf Dateiebene speichert. Eine Verzeichnistabelle hat keine eigenen zuweisbaren Berechtigungen, die erteilt werden können.

Sowohl externe Stagingbereiche (externer Cloudspeicher) als auch interne (Snowflake-) Stagingbereiche unterstützen Verzeichnistabellen. Sie können eine Verzeichnistabelle zu einem Stagingbereich hinzufügen, wenn Sie den Stagingbereich erstellen (mit CREATE STAGE) oder später (mit ALTER STAGE).

Insbesondere können Sie eine Verzeichnistabelle verwenden, um die folgenden Aufgaben für unstrukturierte Daten auszuführen:

Automatisches Aktualisieren der Metadaten von Verzeichnistabellen

Die Metadaten von Verzeichnistabellen können automatisch über den Ereignisbenachrichtigungsdienst Ihres Cloudspeicherdienstes aktualisiert werden. Bei Aktualisierungsoperationen werden die Metadaten mit dem neuesten Satz zugeordneter Dateien im externen Stagingbereich und Pfad synchronisiert, d. h.:

  • Neue Dateien im Pfad werden zu den Tabellenmetadaten hinzugefügt.

  • Änderungen an Dateien im Pfad werden in den Tabellenmetadaten aktualisiert.

  • Dateien, die sich nicht mehr im Pfad befinden, werden aus den Tabellenmetadaten entfernt.

Weitere Informationen dazu finden Sie unter Automatisiertes Aktualisieren der Metadaten von Verzeichnistabellen.

Abrechnung für Verzeichnistabellen

Verwaltungskosten für Ereignisbenachrichtigungen zur automatischen Aktualisierung der Metadaten von Verzeichnistabellen sind in Ihren Gebühren enthalten. Diese Verwaltungskosten steigen in Abhängigkeit von der Zahl der Dateien, die dem Cloudspeicher für Ihre Stagingbereiche einschließlich Verzeichnistabellen hinzugefügt werden. Diese Overhead-Kosten erscheinen auf der Abrechnung als Snowpipe-Gebühren, da Snowpipe für die Ereignisbenachrichtigungen bei der automatischen Aktualisierung der Verzeichnistabellen verwendet wird. Sie können diese Kosten schätzen, indem Sie die Funktion PIPE_USAGE_HISTORY abfragen oder die Account Usage-Ansicht Ansicht PIPE_USAGE_HISTORY untersuchen.

Außerdem wird ein geringer Wartungsaufwand für die manuelle Aktualisierung der Metadaten der Verzeichnistabelle (mit ALTER STAGE … REFRESH) berechnet. Diese Verwaltungskosten werden gemäß dem Standardabrechnungsmodell für Clouddienste berechnet, wie alle ähnlichen Aktivitäten in Snowflake.

Benutzer mit der Rolle ACCOUNTADMIN oder einer Rolle mit der globalen Berechtigung MONITOR USAGE können die Tabellenfunktion AUTO_REFRESH_REGISTRATION_HISTORY abfragen, um den Verlauf der in den Metadaten der angegebenen Objekte registrierten Datendateien und die für diese Operationen in Rechnung gestellten Credits abzurufen.

Anforderungen an die Zugriffssteuerung von Verzeichnistabellen

Die folgende Tabelle fasst die Berechtigungen für Stagingbereiche zusammen, die Sie benötigen, um bei Verwendung von Verzeichnistabellen allgemeine SQL-Befehle ausführen zu können.

Operation

Objekttyp

Erforderliche Berechtigung

Abrufen von Datei-URLs aus Verzeichnistabellen mit einer SELECT FROM DIRECTORY-Anweisung.

Stagingbereich

Je nach Typ des Stagingbereichs eine der folgenden Optionen:

  • Interner Stagingbereich: Eine Kontorolle oder Datenbankrolle mit READ-Berechtigung für den Stagingbereich.

  • Externer Stagingbereich: Eine Kontorolle oder Datenbankrolle mit USAGE-Berechtigung für den Stagingbereich.

Hochladen von Daten mit dem Befehl PUT.

Stagingbereich (nur intern)

Eine Kontorolle oder Datenbankrolle mit WRITE-Berechtigung für den Stagingbereich.

Entfernen von Dateien mit dem Befehl REMOVE.

Stagingbereich

Je nach Typ des Stagingbereichs eine der folgenden Optionen:

  • Interner Stagingbereich: Eine Kontorolle oder Datenbankrolle mit WRITE-Berechtigung für den Stagingbereich.

  • Externer Stagingbereich: Eine Kontorolle oder Datenbankrolle mit USAGE-Berechtigung für den Stagingbereich.

Aktualisieren der Metadaten mit dem Befehl ALTER STAGE.

Stagingbereich

Je nach Typ des Stagingbereichs eine der folgenden Optionen:

  • Interner Stagingbereich: Eine Kontorolle oder Datenbankrolle mit WRITE-Berechtigung für den Stagingbereich.

  • Externer Stagingbereich: Eine Kontorolle oder Datenbankrolle mit USAGE-Berechtigung für den Stagingbereich.

Information Schema

Snowflake Snowflake Information Schema enthält Tabellenfunktionen, die Sie abfragen können, um Informationen über Ihre Verzeichnistabellen zu erhalten.

Tabellenfunktionen

AUTO_REFRESH_REGISTRATION_HISTORY

Rufen Sie den Verlauf der in den Metadaten der angegebenen Objekte registrierten Datendateien und der für diese Operationen in Rechnung gestellten Credits ab.

STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY

Rufen Sie Informationen zum Metadatenverlauf für eine Verzeichnistabelle ab, einschließlich etwaiger Fehler beim Aktualisieren der Metadaten.

Nächste Themen: