Data Lineage in Snowsight

Snowflake verfolgt, wie Daten von Quell- zu Zielobjekten fließen, z. B. von einer Tabelle zu einer Ansicht, und lässt Sie sehen, woher die Daten in einem Objekt stammen oder wohin sie gehen. Diese Informationen werden Data Lineage genannt und helfen Ihnen, die Beziehungen zwischen Ihren Snowflake-Objekten zu verstehen.

Data Lineage erfasst zwei Arten von Beziehungen:

  • Datenbewegung, z. B. wenn Daten von einem Objekt in ein anderes kopiert oder materialisiert werden. Zum Beispiel führen CREATE TABLE AS SELECT (CTAS), INSERT oder MERGE-Operationen auf Tabellen zu einer Datenbewegung.

  • Objektabhängigkeiten, wenn ein Objekt auf ein Basisobjekt verweist, aber keine Daten materialisiert oder kopiert, z. B. wenn eine Ansicht auf eine Tabelle verweist.

Sie können die Registerkarte Lineage in Snowsight verwenden, um die Abstammung von Objekten und Spalten anzuzeigen. Snowflake bietet auch eine SQL-Funktion zum programmatischen Abrufen von Abstammungsinformationen. Ein verwandtes Feature, ML Lineage, liefert Abstammungsinformationen für Modelle des maschinellen Lernens und verwandte Objekte.

Snowflake Data Lineage bietet diese Vorteile:

  • Bietet eine Auswirkungsanalyse durch das Verständnis der Beziehung zwischen verschiedenen Objekten.

  • Verbessert die Überwachung und Fehlerbehebung durch Anzeige der Datenbewegungsabstammung und der Objektabhängigkeiten.

  • Erleichtert die Einhaltung von Vorschriften durch die Verfolgung des Flusses sensibler Daten.

  • Erhöht das Vertrauen in die Daten durch das Verständnis der Quell- und Zielobjekte und -spalten.

  • Ermöglicht die Delegierung der Verwaltung für die Anzeige der Abstammung. Weitere Informationen dazu finden Sie unter Zugriff auf Abstammungsinformationen in Snowsight.

In diesem Thema erfahren Sie, wie Sie Snowsight verwenden, um die Objekt- und Spaltenabstammung anzuzeigen und Tags für Spalten zu setzen, die entweder in einer Downstream- oder Upstream-Tabelle erscheinen.

Über Data Lineage in Snowsight

Sie können die Registerkarte Lineage in Snowsight verwenden, um die Beziehungen eines Objekts in Bezug auf Quell- und Zielobjekte zu verstehen. In der Lineage-Terminologie ist das Quellobjekt dem Zielobjekt „vorgelagert“ (upstream), und das Zielobjekt ist dem Quellobjekt „nachgelagert“ (downstream). Snowsight zeigt Objekte schrittweise an, einen Schritt nach dem anderen vor oder hinter Ihrer Auswahl.

Zum Beispiel in dieser SQL-Anweisung:

CREATE TABLE table2 AS SELECT col1 FROM table1;
Copy

table2 ist die Zieltabelle, die der Quelltabelle table1 nachgelagert ist. Die Spalte col1, die aus der Tabelle table1 stammt, ist in der Tabelle table2 enthalten; dies ist ebenfalls eine nachgelagerte Abstammungsbeziehung. Wenn Sie sich die Details der Tabelle table1 in Snowsight ansehen, wird auf der Registerkarte Lineage ein Pfeil angezeigt, der von table1 auf table2 zeigt, um die nachgelagerte Abstammungsbeziehung anzuzeigen. Wenn Sie stattdessen bei Tabelle table2 beginnen, zeigt ein Pfeil von table2 upstream zu table1. Sie können auch die ähnlichen Beziehungen für die Spalte col1 in beiden Tabellen sehen.

Anhand dieser Informationen können Sie nachvollziehen, wie sensible Daten von der Quelltabelle zur Zieltabelle fließen und Strategien zum Schutz sensibler Spalten entwickeln, z. B. mit einer Maskierungsrichtlinie, und die sensiblen Spalten kennzeichnen.

Unterstützte Operationen

Snowflake verfolgt die Data Lineage für diese Operationen auf Tabellen und tabellenähnlichen Objekten, einschließlich dynamischer Tabellen, externer Tabellen, Ansichten und materialisierter Ansichten:

Unterstützte Objekte

Data Lineage unterstützt Datenbewegungen und Abhängigkeiten zwischen tabellenähnlichen Objekten. Ein „tabellenähnliches“ Objekt ist jedes Objekt, das wie eine Tabelle abgefragt werden kann, einschließlich Tabellen (nichts ist so tabellenähnlich wie eine Tabelle). Zu den tabellenähnlichen Objekten gehören:

  • Tabellen

  • Dynamische Tabellen

  • Externe Tabellen

  • Iceberg-Tabellen

  • Ansichten

  • Materialisierte Ansichten

Stagingbereiche können ebenso wie die folgenden Objekte des maschinellen Lernens in Datenabstammungsbeziehungen einbezogen sein.

Spaltenabstammung wird zwischen Spalten in zwei beliebigen tabellenähnlichen Objekten unterstützt. Sie können z. B. eine Spalte in einer Tabelle auswählen, um die nachgelagerte Spaltenabstammung anzuzeigen, die die anderen tabellenähnlichen Objekte zeigt, in denen diese Spalte erscheint.

Außerdem können Sie die Zuordnungen von Tags und Maskierungsrichtlinien sehen, wenn Sie eine Rolle verwenden, die über Berechtigungen für die Verwaltung von Tags und Maskierungsrichtlinien verfügt.

ML-Abfolge

ML Lineage unterstützt speziell Beziehungen des maschinellen Lernens, die sich darauf konzentrieren, wie Daten in Workflows des maschinellen Lernens verwendet und umgewandelt werden, und weniger auf einfachere Bewegungs- oder Abhängigkeitsbeziehungen. Es werden Beziehungen zwischen den folgenden Arten von Objekten unterstützt:

Umbenannte und gelöschte Tabellenknoten

Umbenannte und gelöschte Tabellen werden im Diagramm angezeigt; gelöschte Tabellen sind grau dargestellt.

Speichern und Auffüllen der Abstammungsinformationen

Das Diagramm Lineage liefert Informationen zur Abstammung in Echtzeit; verfolgte Operationen erscheinen ohne Verzögerung in der Snowsight UI. Verlaufsinformationen werden wie folgt aufbewahrt:

  • Die Spaltenabstammung bleibt ein Jahr lang erhalten.

  • Die Objektabstammung bleibt ein Jahr lang erhalten.

  • Die Abstammung gelöschter Objekte wird 14 Tage lang aufbewahrt.

Bei dieser Vorschau werden Abhängigkeiten, die keine Datenbewegung beinhalten, bis zum Speicherlimit aus Ihrem Snowflake-Aktivitätsverlauf aufgefüllt. Wenn zum Beispiel eine Ansicht vor sechs Monaten aus einer Tabelle erstellt wurde, ist diese Abhängigkeit als nachgelagerte Abstammungsbeziehung von der Tabelle und als vorgelagerte Beziehung von der Ansicht sichtbar. Tabelle-zu-Tabelle-Beziehungen (Datenbewegungen), die vor dieser Vorschau (die im November 2024 startete) stattfanden, werden möglicherweise nicht erfasst.

Bemerkung

Bei einigen wenigen Konten werden möglicherweise nicht sofort zum Start dieser Vorschau die vollständigen Verlaufsdaten der Abstammung angezeigt. Die Abstammungsdaten für diese Konten werden noch abgeglichen und sollten in den nächsten Wochen verfügbar sein.

Einschränkungen

  • Die Registerkarte Lineage ist für die folgenden Arten von Objekten nicht verfügbar:

    • Objekte in einer gemeinsamen Datenbank.

    • Objekte in der gemeinsamen SNOWFLAKE-Datenbank.

    • Objekte im INFORMATION_SCHEMA einer Datenbank.

  • Dynamische Tabellen erscheinen im Verlaufsdiagramm für andere Objekte, aber die Registerkarte Lineage erscheint nicht für dynamische Tabellen selbst.

  • Abfrageinformationen sind nur für Datenbewegungsbeziehungen verfügbar, nicht für Objektabhängigkeiten. Nur ein Benutzer mit der Rolle ACCOUNTADMIN kann Abfrageinformationen einsehen. Abfrageinformationen sind für andere Rollen nicht verfügbar.

Zugriff auf Abstammungsinformationen in Snowsight

Um auf die Registerkarte Lineage zuzugreifen und alle vor- und nachgelagerten Abstammungsobjekte und Abhängigkeiten eines Objekts anzuzeigen, verwenden Sie eine Rolle mit den folgenden Berechtigungen:

  • Jegliche Berechtigung für die Objekte, für die Sie die Abstammung auswerten möchten, wie z. B. SELECT für eine Tabelle.

  • USAGE für die Datenbank und das Schema, welche das Objekt enthalten.

  • VIEW LINEAGE für das Konto

Das folgende Beispiel erstellt eine kundenspezifische Rolle und gewährt ihr die erforderlichen Berechtigungen:

USE ROLE ACCOUNTADMIN;
CREATE ROLE lineage_role;
GRANT VIEW LINEAGE ON ACCOUNT TO ROLE lineage_role;
GRANT SELECT ON mydb.sch.mytable TO ROLE lineage_role;
Copy

Wenn Sie keine Berechtigung für ein vor- oder nachgelagertes Objekt im Abstammungsdiagramm haben, wird das Objekt grau angezeigt und Sie erhalten die Meldung, dass Sie keine ausreichenden Berechtigungen zum Anzeigen des Objekts haben. Bitten Sie den Administrator Ihres Snowflake-Kontos, Ihnen Berechtigungen für das Objekt zu erteilen. Fragen Sie ggf. auch die globale Berechtigung VIEW LINEAGE an.

Das graue Objekt bedeutet nicht, dass es sich um einen Endknoten im Abstammungsdiagramm handelt. Es zeigt lediglich an, dass Sie die Abstammung nicht weiter upstream oder downstream von diesem Punkt aus einsehen können, da Sie nicht die Berechtigung haben, die Abstammung dieses Objekts abzurufen. Diese Verhaltensweise gilt auch für Objekte und Spalten, die durch andere Zugriffsrichtlinien geschützt sind.

Überwachen Sie die Datenabstammung, und markieren Sie Spalten

Bemerkung

Für das Tagging ist Snowflake Enterprise Edition erforderlich.

Gehen Sie wie folgt vor, um die Datenabstammung für Tabellen und tag-sensitive Spalten zu überwachen:

  1. Verwenden Sie eine Rolle, die über die erforderlichen Berechtigungen verfügt, um die vor- und nachgelagerte Abstammung eines Objekts anzuzeigen.

  2. Navigieren Sie in Snowsight zu Data » Databases.

  3. Wählen Sie eine Datenbank, ein Schema und ein von unterstütztes Objekt.

  4. Wählen Sie die Registerkarte Lineage aus.

  5. Wählen Sie ein Warehouse aus, falls noch kein Warehouse verwendet wird. Für die Erstellung eines Abstammungsdiagramms ist ein Warehouse erforderlich.

    • Das Abstammungsdiagramm beginnt mit dem Objekt und einer Ebene von nachgelagerten und vorgelagerten Objekten, sofern zutreffend. Ein Pfeil zeigt von links nach rechts, um anzuzeigen, dass eine Spalte in einer Zieltabelle eine Spalte aus einer Quelltabelle enthält. Sie können eine Tabelle auswählen und ihre Spalten anzeigen.

    • Wenn eine Maskierungsrichtlinie für eine Spalte festgelegt wurde und ein Fehler mit der Richtlinie vorliegt, können Sie die Tag-Zuweisungen in dieser Prozedur abschließen und zur Registerkarte Columns (für die Tabelle oder Ansicht) wechseln, um die Zuweisung der Maskierungsrichtlinie zu bearbeiten. Wenn Sie den Mauszeiger über Policy Error bewegen, erscheint eine Erklärung des Fehlers.

  6. Um weitere Details zu einer bestimmten Tabellenspalte im Abstammungsdiagramm anzuzeigen, wählen Sie eine Tabelle aus. Bewegen Sie den Mauszeiger in der angezeigten Detailansicht über eine Spalte, und wählen Sie View Lineage oder View Dependencies, je nachdem, welches Diagramm Sie ausgewählt haben.

    Wenn Ihre Tabelle viele Spalten hat, können Sie den Suchfilter verwenden, um die Spalte zu finden.

  7. Wählen Sie im Dialog View Column Lineage Downstream Lineage oder Upstream Lineage.

    • Prüfen Sie die Spalten- und Tabellendetails sowie die der Spalte zugewiesenen Tags.

      Die Tags der Spalte sind mit der Quellspalte verknüpft und damit, ob die Zielspalte Tags hat oder nicht.

    • Wenn eine Tabelle eine Spalte enthält, die nicht dort sein sollte, ändern Sie die SQL-Anweisung, mit der die Tabelle erstellt wird.

    • Wenn einer Tabelle ein Tag einer Spalte zugewiesen wurde, die dieses Tag nicht haben sollte, aktualisieren Sie die SQL-Anweisung, die das Tag der Spalte zuweist, oder verwenden Sie Snowsight, um die Tag-Zuweisung zu aktualisieren.

    Wenn Sie die Rolle ACCOUNTADMIN oder eine Rolle mit der globalen Berechtigung APPLY TAG verwenden, erscheint das Banner Review Columns and Apply Tags. Um Spalten mit Tags zu versehen, gehen Sie wie folgt vor:

  8. Wählen Sie im Banner Review Columns and Apply Tags.

    Änderungen, die noch nicht übernommen wurden, werden mit verschiedenen Farben und Mustern hervorgehoben:

    • Neue Tags, die in der Spalte gesetzt werden sollen, haben einen gestrichelten blauen Rahmen.

    • Zu aktualisierende Tag-Werte haben einen gelben Rahmen.

    Wenn für die Spalte auf der Grundlage der Tabelle, die Sie im Diagramm ausgewählt haben, noch keine Tags gesetzt sind, wird das Banner nicht angezeigt.

  9. Wählen Sie Apply Tags, um die Tags anzuwenden und die Tag-Werte in den Spalten zu aktualisieren.

    Wenn keine Tags für die Spalten gesetzt werden können, wird eine Fehlermeldung mit der Anzahl der Spalten angezeigt, für die keine Tags gesetzt werden konnten. Wählen Sie Review Columns and Apply Tags, um den vorherigen Schritt zum Zuweisen von Tags zu wiederholen.

    Nachdem Sie die Tags den Spalten zugewiesen haben, verschwindet das Banner.