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:
Liste aller unstrukturierten Dateien in einem Stagingbereich abfragen. Sie können eine Verzeichnistabelle abfragen, um eine Liste aller Dateien im Stagingbereich zu erhalten. Die Abfrageausgabe enthält Informationen zu jeder Datei, einschließlich Größe, Zeitstempel der letzten Änderung sowie Snowflake-Datei-URL.
Ansichten von unstrukturierten Daten erstellen. Sie können eine Verzeichnistabelle mit einer Snowflake-Tabelle verknüpfen, die zusätzliche Daten und Metadaten zu unstrukturierten Dateien enthält, um unstrukturierte Dateien und deren zugehörige Daten in einer einzigen Ansicht anzuzeigen.
Datenverarbeitungs-Pipeline erstellen. Zum Erstellen einer Datenverarbeitungs-Pipeline können Sie eine Verzeichnistabelle mit der Snowpark-API oder externe Funktionen verwenden.
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:
|
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:
|
Aktualisieren der Metadaten mit dem Befehl ALTER STAGE. |
Stagingbereich |
Je nach Typ des Stagingbereichs eine der folgenden Optionen:
|
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: