Datenherkunft mit Knowledge Catalog

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Auf dieser Seite wird erläutert, wie Sie die Einbindung der Datenherkunft in Managed Airflow aktivieren.

Einbindung der Datenherkunft

Die Datenherkunft ist eine Knowledge Catalog-Funktion, mit der Sie verfolgen können, wie sich Daten durch Ihre Systeme bewegen – woher sie kommen, wohin sie übergeben werden und welche Transformationen auf sie angewendet werden.

Managed Airflow verwendet das Paket apache-airflow-providers-openlineage, um die Herkunftsereignisse zu generieren, die an die Data Lineage API gesendet werden.

Dieses Paket ist bereits in Managed Airflow-Umgebungen installiert. Wenn Sie eine andere Version dieses Pakets installieren, kann sich die Liste der unterstützten Operatoren ändern. Wir empfehlen, dies nur bei Bedarf zu tun und ansonsten die vorinstallierte Version des Pakets zu behalten.

  • Die Datenherkunft ist für Umgebungen in denselben Regionen wie Knowledge Catalog-Regionen verfügbar, die die Datenherkunft unterstützen.

  • Wenn die Datenherkunft in Ihrer Managed Service for Apache Airflow-Umgebung aktiviert ist, meldet Managed Service for Apache Airflow Herkunftsinformationen für DAGs, die einen der unterstützten Operatoren verwenden, an die Data Lineage API. Sie können auch benutzerdefinierte Herkunftsereignisse senden, wenn Sie die Herkunft für einen nicht unterstützten Operator melden möchten.

  • Sie können auf Herkunftsinformationen zugreifen mit:

    • Data Lineage API
    • Herkunftsdiagramme für unterstützte Einträge in Knowledge Catalog. Weitere Informationen finden Sie in der Knowledge Catalog-Dokumentation unter Herkunftsdiagramme.

Wenn Sie eine Umgebung erstellen, wird die Einbindung der Datenherkunft automatisch aktiviert , wenn die folgenden Bedingungen erfüllt sind:

  • Die Data Lineage API ist in Ihrem Projekt aktiviert. Weitere Informationen finden Sie in der Knowledge Catalog-Dokumentation unter Data Lineage API aktivieren.

  • In Airflow ist kein benutzerdefiniertes Herkunfts-Back-End konfiguriert.

Sie können die Einbindung der Datenherkunft deaktivieren, wenn Sie eine Umgebung erstellen.

Für eine vorhandene Umgebung können Sie die Einbindung der Datenherkunft jederzeit aktivieren oder deaktivieren.

Überlegungen zu Funktionen in Managed Service for Apache Airflow

Managed Airflow führt in den folgenden Fällen einen RPC-Aufruf aus, um Herkunftsereignisse zu erstellen:

  • Wenn eine Airflow-Aufgabe gestartet oder beendet wird
  • Wenn eine DAG-Ausführung gestartet oder beendet wird

Weitere Informationen zu diesen Entitäten finden Sie in der Knowledge Catalog Dokumentation unter Herkunftsinformationsmodell und Lineage API-Referenz.

Für den ausgegebenen Herkunftstraffic gelten Kontingente in der Data Lineage API. Managed Airflow verbraucht das Schreibkontingent.

Die Preise für die Verarbeitung von Herkunftsdaten unterliegen der Herkunftspreisgestaltung. Weitere Informationen finden Sie unter Überlegungen zur Datenherkunft.

Überlegungen zur Leistung in Managed Service for Apache Airflow

Die Datenherkunft wird am Ende der Ausführung der Airflow-Aufgabe gemeldet. Im Durchschnitt dauert die Meldung der Datenherkunft etwa 1 bis 2 Sekunden.

Dies hat keine Auswirkungen auf die Leistung der Aufgabe selbst: Airflow-Aufgaben schlagen nicht fehl, wenn die Herkunft nicht erfolgreich an die Lineage API gemeldet wird. Die Hauptlogik des Operators ist nicht betroffen, aber die gesamte Aufgabeninstanz wird etwas länger ausgeführt, um die Meldung von Herkunftsdaten zu berücksichtigen.

Bei einer Umgebung, in der die Datenherkunft gemeldet wird, steigen die damit verbundenen Kosten geringfügig, da mehr Zeit für die Meldung der Datenherkunft erforderlich ist.

Compliance

Die Datenherkunft bietet verschiedene Supportstufen für Funktionen wie VPC Service Controls. Prüfen Sie die Überlegungen zur Datenherkunft um sicherzustellen, dass die Supportstufen den Anforderungen Ihrer Umgebung entsprechen.

Hinweis

Prüfen, ob ein Operator unterstützt wird

Der Support für die Datenherkunft wird vom Anbieterpaket bereitgestellt, in dem sich der Operator befindet:

  1. Prüfen Sie die Änderungsprotokolle des Anbieterpakets, in dem sich der Operator befindet, auf Einträge, die OpenLineage-Support hinzufügen.

    Beispielsweise unterstützt BigQueryToBigQueryOperator OpenLineage ab apache-airflow-providers-google Version 11.0.0.

  2. Prüfen Sie die Version des Anbieterpakets, das von Ihrer Umgebung verwendet wird. Eine Liste der vorinstallierten Pakete für die in Ihrer Umgebung verwendete Version von Managed Airflow finden Sie hier. Sie können auch eine andere Version des Pakets in Ihrer Umgebung installieren.

Außerdem sind auf der Seite Unterstützte Klassen in der Dokumentation zu apache-airflow-providers-openlineage die neuesten unterstützten Operatoren aufgeführt.

Einbindung der Datenherkunft konfigurieren

Die Einbindung der Datenherkunft für Managed Service for Apache Airflow wird pro Umgebung verwaltet. Das bedeutet, dass die Aktivierung der Funktion zwei Schritte erfordert:

  1. Aktivieren Sie die Data Lineage API in Ihrem Projekt.
  2. Aktivieren Sie die Einbindung der Datenherkunft in einer bestimmten Managed Service for Apache Airflow-Umgebung.

Datenherkunft in Managed Service for Apache Airflow aktivieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wählen Sie den Tab Umgebungskonfiguration aus.

  4. Klicken Sie im Bereich Einbindung der Knowledge Catalog-Herkunft auf Bearbeiten.

  5. Wählen Sie im Bereich Einbindung der Knowledge Catalog-Herkunft die Option Einbindung in Knowledge Catalog-Herkunft aktivieren aus.

  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie das Argument --enable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-cloud-data-lineage-integration

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet

Beispiel:

gcloud composer environments update example-environment \
    --location us-central1 \
    --enable-cloud-data-lineage-integration

Datenherkunft in Managed Service for Apache Airflow deaktivieren

Wenn Sie die Einbindung der Herkunft in einer Managed Service for Apache Airflow-Umgebung deaktivieren, wird die Data Lineage API nicht deaktiviert. Wenn Sie die Herkunftsmeldung für Ihr Projekt vollständig deaktivieren möchten, deaktivieren Sie auch die Data Lineage API. Weitere Informationen finden Sie unter Dienste deaktivieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wählen Sie den Tab Umgebungskonfiguration aus.

  4. Klicken Sie im Bereich Einbindung der Knowledge Catalog-Herkunft auf Bearbeiten.

  5. Wählen Sie im Bereich Einbindung der Knowledge Catalog-Herkunft die Option Einbindung in Knowledge Catalog-Herkunft deaktivieren aus.

  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie das Argument --disable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-cloud-data-lineage-integration

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet

Beispiel:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-cloud-data-lineage-integration

Herkunftsereignisse in unterstützten Operatoren senden

Wenn die Datenherkunft aktiviert ist, senden unterstützte Operatoren automatisch Herkunftsereignisse. Sie müssen den DAG-Code nicht ändern.

Wenn Sie beispielsweise die folgende Aufgabe ausführen:

task = BigQueryInsertJobOperator(
    task_id='snapshot_task',
    dag=dag,
    location='<dataset-location>',
    configuration={
        'query': {
            'query': 'SELECT * FROM dataset.tableA',
            'useLegacySql': False,
            'destinationTable': {
                'project_id': 'example-project',
                'dataset_id': 'dataset',
                'table_id': 'tableB',
            },
        }
    },
)

wird in der Knowledge Catalog-UI das folgende Herkunftsdiagramm erstellt:

Beispiel für ein Herkunftsgraph in der Knowledge Catalog-UI.
Abbildung 1. Beispiel für ein Herkunftsdiagramm für eine BigQuery-Tabelle in der Knowledge Catalog-UI.

Benutzerdefinierte Herkunftsereignisse senden

Sie können benutzerdefinierte Herkunftsereignisse senden, wenn Sie die Herkunft für einen Operator melden möchten, der nicht für die automatische Herkunftsmeldung unterstützt wird.

So senden Sie beispielsweise benutzerdefinierte Ereignisse mit:

  • BashOperator: Ändern Sie den Parameter inlets oder outlets in der Aufgabendefinition.
  • PythonOperator: Ändern Sie den Parameter task.inlets oder task.outlets in der Aufgabendefinition.
  • Sie können AUTO für den Parameter inlets verwenden. Dadurch wird der Wert auf die outlets der vorgelagerten Aufgabe gesetzt.

Das folgende Beispiel veranschaulicht die Verwendung von Inlets und Outlets:

from airflow.composer.data_lineage.entities import BigQueryTable
from airflow.lineage import AUTO

...

bash_task = BashOperator(
    task_id="bash_task",
    dag=dag,
    bash_command="sleep 0",
    inlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table1",
        )
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table2",
        )
    ],
)


def _python_task(task):
    print("Python task")


python_task = PythonOperator(
    task_id="python_task",
    dag=dag,
    python_callable=_python_task,
    inlets=[
        AUTO,
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table3",
        ),
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table4",
        )
    ],
)

bash_task >> python_task

Dadurch wird in der Knowledge Catalog-UI das folgende Herkunftsdiagramm erstellt:

Beispiel für ein Lineage-Diagramm für benutzerdefinierte Ereignisse in der Knowledge Catalog-Benutzeroberfläche.
Abbildung 2. Beispiel für ein Herkunftsdiagramm für mehrere BigQuery-Tabellen in der Knowledge Catalog-UI.

Herkunftslogs in Managed Service for Apache Airflow ansehen

Sie können Logs im Zusammenhang mit der Datenherkunft über den Link auf der Seite Umgebungskonfiguration im Bereich Einbindung der Knowledge Catalog-Herkunft prüfen.

Fehlerbehebung

Wenn Herkunftsdaten nicht an die Lineage API gemeldet werden oder Sie sie in Knowledge Catalog nicht sehen können, versuchen Sie Folgendes:

  • Prüfen Sie, ob die Data Lineage API im Projekt Ihrer Managed Service for Apache Airflow-Umgebung aktiviert ist.
  • Prüfen Sie, ob die Einbindung der Datenherkunft in der Managed Service for Apache Airflow-Umgebung aktiviert ist.
  • Prüfen Sie, ob der von Ihnen verwendete Operator in der automatischen Herkunftsmeldung enthalten ist. Weitere Informationen finden Sie unter Unterstützte Airflow-Operatoren.
  • Prüfen Sie die Herkunftslogs in Managed Service for Apache Airflow auf mögliche Probleme.

Nächste Schritte