Data Lineage

Data Lineage ist ein Feature von Dataplex, mit dem Sie verfolgen können, wie sich Daten durch Ihre Systeme bewegen: woher sie kommen, wohin sie übergeben werden und welche Transformationen darauf angewendet werden.

Warum benötigen Sie Data Lineage?

Der Umgang mit großen Datasets beinhaltet häufig die Umwandlung von Daten in Entitäten, die auf die Anforderungen eines bestimmten Projekts zugeschnitten sind: Textdateien, Tabellen, Berichte, Dashboards, Modelle.

Stellen Sie sich beispielsweise vor, Sie haben einen Onlineshop, in dem Sie jeden Kauf in einer einzigen SQL-Tabelle erfassen. Um Ihren Analysten die Arbeit mit den Daten zu erleichtern, beginnen Sie mit der Ausführung von Jobs, die Informationen aus dieser einzelnen Tabelle extrahieren und kleinere Tabellen nach Region, Marke oder Sonderangebotspreis erstellen. Ihre Analysefachkräfte führen dann weitere Transformationen durch und führen diese kleineren Tabellen mit anderen Datenquellen zusammen, um noch mehr Tabellen zu erzeugen.

Dies kann für Ihre Stakeholder zu einer großen Herausforderung werden:

  • Datennutzer können kein Self-Service-Tool verwenden, um festzustellen, ob Daten aus einer autoritativen Quelle stammen.
  • Data Engineers können keine Probleme aufgrund fehlender zuverlässiger Möglichkeiten zum Verfolgen aller Datentransformationen verursachen.
  • Data Engineers und Analysten können die möglichen Auswirkungen nicht vollständig abschätzen, bevor sie Tabellen ändern oder löschen.
  • Datenverantwortliche können nicht nachvollziehen, wie sensible Daten in der gesamten Organisation verwendet werden, und die Einhaltung gesetzlicher Vorschriften nicht gewährleisten.

Data Lineage ist eine Lösung, die eine praktische Möglichkeit bietet:

  • Mithilfe von Visualisierungen in Herkunftsdiagrammen können Sie nachvollziehen, wie Daten abgerufen und transformiert werden.
  • Sie können Fehler im Zusammenhang mit Einträgen und Datenvorgängen auf ihre Ursache zurückverfolgen.
  • Ermöglichen Sie ein besseres Änderungsmanagement durch Wirkungsanalyse: Vermeiden Sie Ausfallzeiten oder unerwartete Fehler, verstehen Sie abhängige Einträge und arbeiten Sie mit relevanten Beteiligten zusammen.

Grafik zur Visualisierung der Herkunft

Lineage-Diagramme enthalten Informationen, die von der Data Lineage API für einen bestimmten Data Catalog-Eintrag erfasst werden:

Die Beispielgrafik zeigt Daten aus zwei Tabellen, die umgewandelt und dann in einer neuen Tabelle zusammengeführt werden. Unten in einem Detailbereich ist SQL-Code zu sehen.
Abbildung 1. Beispiel für ein Lineage-Visualisierungsdiagramm in der Dataplex-UI.

Dataplex verwendet die Data Lineage API, um Einträge zu identifizieren, deren vollständig qualifizierter Name mit Entitäten übereinstimmt, die von Data Lineage erkannt werden. Für übereinstimmende Dataplex-Einträge können Sie auf der Detailseite auf den Tab Lineage zugreifen und das Diagramm ansehen.

Lineage-Diagramme enthalten zwei Arten von Elementen:

  • Breite, rechteckige Schaltflächen, die Entitäten darstellen, die an der Erstellung von Lineage-Informationen als Quellen oder Ziele eines Lineage-Ereignisses beteiligt sind.
  • Kleinere, quadratische Schaltflächen für Prozesse, mit denen die Quell- oder Zielentitäten erstellt oder aktualisiert werden. Für die Prozessschaltflächen werden Symbole verwendet, die für das Quellsystem spezifisch sind, über das sie an die Data Lineage API gemeldet wurden. Bei BigQuery-Jobs wird beispielsweise das Symbol Symbol für BigQuery-Herkunftsprozess verwendet.

Data-Lineage-Informationsmodell

In ihrer grundlegenden Form ist Lineage ein Datensatz von Daten, die von Quellen in Ziele umgewandelt werden. Die Data Lineage API erfasst diese Informationen und organisiert sie mithilfe der Konzepte von Prozessen, Ausführungen und Ereignissen in einem hierarchischen Datenmodell.

Prozesse

Ein Prozess ist die Definition eines Datentransformationsvorgangs, der für ein bestimmtes System unterstützt wird. Im Kontext der BigQuery-Lineage ist ein process einer der unterstützten Jobtypen.

Ausführen

Ausführung ist die Ausführung eines Prozesses. Prozesse können mehrere Ausführungen haben. Ausführungen enthalten Details wie Start- und Endzeiten, Status oder zusätzliche Attribute. Weitere Informationen finden Sie in der run-Ressourcenreferenz.

Ereignis

Ein Ereignis stellt einen Zeitpunkt dar, zu dem eine Datentransformation stattgefunden hat und dazu geführt hat, dass Daten zwischen einer Quell- und einer Zielentität verschoben wurden.

Ereignisse enthalten eine Liste von Links, die definieren, welcher Eintrag die Quelle und welcher das Ziel eines bestimmten Ereignisses war. Ereignisse werden zwar zum Berechnen von Lineage-Visualisierungsgrafiken verwendet, sie werden jedoch nicht direkt in der Google Cloud Console bereitgestellt. Sie können sie mit der Data Lineage API erstellen, lesen und löschen (aber nicht aktualisieren).

Beispiel

Betrachten Sie das folgende Beispiel, in dem Daten zwischen BigQuery-Tabellen kopiert werden:

Im Beispiel werden Daten aus Tabellen mit dem Namen „customer_year“ und „customers“ extrahiert, um eine Tabelle mit dem Namen „top_customer“ abzuleiten.
Abbildung 2. Beispiel für ein Diagramm mit den Quellen von Tabellendaten.

Wie Daten zwischen den Tabellen verschoben werden, wird durch den Lineage-Prozess beschrieben (dargestellt im Diagramm durch das Symbol Symbol für BigQuery-Herkunftsprozess): Das kann eine SQL-CREATE TABLE AS SELECT-Abfrage oder eine INSERT-Anweisung sein.

Jede Ausführung dieser SQL-Anweisung stellt eine einzelne run dar. Ausführungen enthalten Ereignisse. Damit wird aufgezeichnet, welche Tabellen als Quellen und welche als Ziele verwendet wurden. In diesem Beispiel sind die Tabellen customer_year und customers beide die Quelle für die Zieltabelle top_customer.

Automatisierte Verfolgung der Herkunft der Daten

Wenn Sie die Data Lineage API aktivieren, melden Google Cloud-Systeme, die Data Lineage unterstützen, ihre Datenbewegung. Jedes integrierte System kann Herkunftsinformationen für unterschiedliche Datenquellen senden. Weitere Informationen zu den unterstützten Produkten finden Sie in den folgenden Abschnitten.

BigQuery

Wenn Sie die Data Lineage in Ihrem BigQuery-Projekt aktivieren, zeichnet Dataplex automatisch Herkunftsinformationen für Folgendes auf:

Kopier-, Abfrage- und Ladejobs in BigQuery werden als Prozesse dargestellt. Klicken Sie im Diagramm zur Lineage-Visualisierung auf das Look-Glas-Symbol , um Prozessdetails aufzurufen. Jeder Prozess enthält die BigQuery-job_id in der Liste Attribute für den letzten BigQuery-Job.

Weitere Dienste

Data Lineage unterstützt die Einbindung der folgenden Google Cloud-Dienste:

Data Lineage für benutzerdefinierte Datenquellen

Sie können die Data Lineage API in Dataplex verwenden, um Lineage-Informationen für jede Datenquelle manuell aufzuzeichnen, die von den integrierten Systemen nicht unterstützt wird.

Dataplex kann Visualisierungsdiagramme für manuell aufgezeichnete Lineage erstellen, wenn Sie eine fullyQualifiedNames verwenden, die den vollständig qualifizierten Namen vorhandener Data Catalog-Einträge entspricht. Wenn Sie die Lineage für eine benutzerdefinierte Datenquelle erfassen möchten, erstellen Sie zuerst einen benutzerdefinierten Data Catalog-Eintrag.

Jeder Prozess für eine benutzerdefinierte Datenquelle kann den Schlüssel sql in der Attributliste enthalten. Der Wert eines solchen Schlüssels wird verwendet, um Codehervorhebungen im Detailbereich des Data-Herkunftsdiagramms zu rendern. SQL-Anweisung so angezeigt, wie sie bereitgestellt wurde. Der Nutzer ist dafür verantwortlich, vertrauliche Informationen herauszufiltern. Beim Schlüsselnamen sql wird zwischen Groß- und Kleinschreibung unterschieden.

OpenLineage

Wenn Sie OpenLineage bereits zum Erfassen von Lineage-Informationen aus anderen Datenquellen verwenden, können Sie OpenLineage-Ereignisse in Dataplex importieren und in der Google Cloud Console anzeigen lassen. Weitere Informationen finden Sie unter In OpenLineage einbinden.

Aktuelle Funktionseinschränkungen

  • Alle Herkunftsinformationen werden nur 30 Tage im System aufbewahrt.
  • Herkunftsinformationen bleiben erhalten, nachdem Sie die zugehörige Datenquelle entfernt haben. Das heißt, wenn Sie eine BigQuery-Tabelle und ihren Data Catalog-Eintrag entfernen, können Sie die Herkunft für diese Tabelle noch bis zu 30 Tage lang mit der API lesen.

Auf Datenherkunft zugreifen

Sie können auf Data Lineage-Funktionen zugreifen:

Nächste Schritte