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
Diese Funktion bietet unterschiedlichen Compliancesupport. Prüfen Sie zuerst beide Überlegungen zu Funktionen, die speziell für Managed Service for Apache Airflow gelten, und Überlegungen zu Funktionen der Datenherkunft.
Die Einbindung der Datenherkunft wird in Managed Airflow Version 2.1.2 und höher mit Airflow Version 2.2.5 und höher unterstützt.
Alle erforderlichen IAM-Berechtigungen für die Datenherkunft sind bereits in der Rolle „Composer-Worker“ (
roles/composer.worker) enthalten. Diese Rolle ist die erforderliche Rolle für die Dienstkonten der Umgebung.Weitere Informationen zu Berechtigungen für die Datenherkunft finden Sie in der Knowledge Catalog-Dokumentation unter Herkunftsrollen und -berechtigungen.
Prüfen, ob ein Operator unterstützt wird
Der Support für die Datenherkunft wird vom Anbieterpaket bereitgestellt, in dem sich der Operator befindet:
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-googleVersion 11.0.0.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:
- Aktivieren Sie die Data Lineage API in Ihrem Projekt.
- Aktivieren Sie die Einbindung der Datenherkunft in einer bestimmten Managed Service for Apache Airflow-Umgebung.
Datenherkunft in Managed Service for Apache Airflow aktivieren
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wählen Sie den Tab Umgebungskonfiguration aus.
Klicken Sie im Bereich Einbindung der Knowledge Catalog-Herkunft auf Bearbeiten.
Wählen Sie im Bereich Einbindung der Knowledge Catalog-Herkunft die Option Einbindung in Knowledge Catalog-Herkunft aktivieren aus.
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 UmgebungLOCATION: 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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wählen Sie den Tab Umgebungskonfiguration aus.
Klicken Sie im Bereich Einbindung der Knowledge Catalog-Herkunft auf Bearbeiten.
Wählen Sie im Bereich Einbindung der Knowledge Catalog-Herkunft die Option Einbindung in Knowledge Catalog-Herkunft deaktivieren aus.
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 UmgebungLOCATION: 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:
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
inletsoderoutletsin der Aufgabendefinition. - PythonOperator: Ändern Sie den Parameter
task.inletsodertask.outletsin der Aufgabendefinition. - Sie können
AUTOfür den Parameterinletsverwenden. Dadurch wird der Wert auf dieoutletsder 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:
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.