In OpenLineage einbinden

In diesem Dokument wird erläutert, wie Sie OpenLineage in Knowledge Catalog (ehemals Dataplex Universal Catalog) einbinden, um Herkunftsdaten aus verschiedenen Systemen zu visualisieren.

Übersicht

OpenLineage ist eine offene Plattform zum Erfassen und Analysieren von Datenherkunftsinformationen. OpenLineage verwendet einen offenen Standard für Herkunftsdaten und erfasst Herkunftsereignisse aus Datenpipelinekomponenten, die eine OpenLineage API verwenden, um über Ausführungen, Jobs und Datasets zu berichten.

Über die Data Lineage API können Sie OpenLineage-Ereignisse importieren, die in der Knowledge Catalog-Weboberfläche neben Herkunftsinformationen aus Google Cloud Diensten wie BigQuery, Cloud Composer, Cloud Data Fusion und Managed Service for Apache Spark angezeigt werden.

Wenn Sie OpenLineage-Ereignisse importieren möchten, die die OpenLineage-Spezifikation verwenden, verwenden Sie die ProcessOpenLineageRunEvent REST API-Methode und ordnen Sie OpenLineage-Facetten Data Lineage API-Attributen zu.

Beschränkungen

  • Die Data Lineage API unterstützt OpenLineage-Hauptversion 1.

  • Der Data Lineage API-Endpunkt ProcessOpenLineageRunEvent fungiert nur als Consumer von OpenLineage-Nachrichten, nicht als Producer. Mit der API können Sie Herkunftsinformationen, die von einem beliebigen OpenLineage-kompatiblen Tool oder System generiert wurden, an Knowledge Catalog senden. Einige Google Cloud Dienste wie Managed Service for Apache Spark und Cloud Composer enthalten integrierte OpenLineage-Producer , die Ereignisse an diesen Endpunkt senden können, wodurch die Erfassung der Herkunft aus diesen Diensten automatisiert wird.

  • Die Data Lineage API unterstützt Folgendes nicht:

    • Alle nachfolgenden OpenLineage-Releases mit Änderungen am Nachrichtenformat
    • DatasetEvent
    • JobEvent
  • Die maximale Größe einer einzelnen Nachricht beträgt 5 MB.

  • Die Länge jedes vollständig qualifizierten Namens in Ein- und Ausgaben ist auf 4.000 Zeichen begrenzt.

  • Links werden nach Ereignissen mit 100 Links gruppiert. Die maximale Gesamtzahl der Links beträgt 1.000.

  • Knowledge Catalog zeigt für jede Jobausführung ein Herkunftsgraph an, in dem die Ein- und Ausgaben von Herkunftsereignissen dargestellt sind. Prozesse auf niedrigerer Ebene wie Spark-Phasen werden nicht unterstützt.

OpenLineage-Zuordnung

Informationen zur OpenLineage-Zuordnung finden Sie unter OpenLineage-Zuordnung.

OpenLineage-Ereignis importieren

Wenn Sie OpenLineage noch nicht eingerichtet haben, lesen Sie den Artikel Erste Schritte.

Rufen Sie die REST API-Methode ProcessOpenLineageRunEvent auf, um ein OpenLineage-Ereignis in Knowledge Catalog zu importieren:

POST https://datalineage.googleapis.com/v1/projects/{project}/locations/{location}:processOpenLineageRunEvent \
--data '{"eventTime":"2023-04-04T13:21:16.098Z","eventType":"COMPLETE","inputs":[{"name":"somename","namespace":"somenamespace"}],"job":{"name":"somename","namespace":"somenamespace"},"outputs":[{"name":"somename","namespace":"somenamespace"}],"producer":"someproducer","run":{"runId":"somerunid"},"schemaURL":"https://openlineage.io/spec/1-0-5/OpenLineage.json#/$defs/RunEvent"}'

Tools zum Senden von OpenLineage-Nachrichten

Um das Senden von Ereignissen an die Data Lineage API zu vereinfachen, können Sie verschiedene Tools und Bibliotheken verwenden:

  • Google Cloud Java Producer Library:Google bietet eine Open-Source-Java-Bibliothek, mit der Sie OpenLineage-Ereignisse erstellen und an die Data Lineage API senden können. Weitere Informationen finden Sie im Blogpost Producer java library for Data Lineage is now open source. Die Bibliothek ist auf GitHub und Mavenverfügbar.
  • OpenLineage GCP Transport: Für Java-basierte OpenLineage-Producer ist ein spezieller GcpLineage Transport verfügbar. Dadurch wird die Einbindung in die Data Lineage API vereinfacht, da weniger Code zum Senden von Ereignissen an die Data Lineage API erforderlich ist. Der GcpLineageTransport kann als Ereignissenke für jeden vorhandenen OpenLineage-Producer wie Airflow, Spark und Flink konfiguriert werden. Weitere Informationen und Beispiele finden Sie unter GcpLineage.

Informationen aus OpenLineage analysieren

Informationen zum Analysieren der importierten OpenLineage-Ereignisse finden Sie unter Herkunftsgraphen in der Knowledge Catalog-UI ansehen.

Gespeicherte Daten

Die Data Lineage API speichert nicht alle Facettendaten aus den OpenLineage-Nachrichten. Die Data Lineage API speichert die folgenden Facettenfelder:

  • spark_version
    • openlineage-spark-version
    • spark-version
  • alle spark.logicalPlan.*
  • environment-properties (custom Google Cloud lineage-Facette)
    • origin.sourcetype und origin.name
    • spark.app.id
    • spark.app.name
    • spark.batch.id
    • spark.batch.uuid
    • spark.cluster.name
    • spark.cluster.region
    • spark.job.id
    • spark.job.uuid
    • spark.project.id
    • spark.query.node.name
    • spark.session.id
    • spark.session.uuid

Die Data Lineage API speichert die folgenden Informationen:

  • eventTime
  • run.runId
  • job.namespace
  • job.name

Nächste Schritte