Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird erläutert, wie Sie die Integration 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 beizubehalten.
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 an die Data Lineage API für DAGs, in denen einer der unterstützten Operatoren verwendet wird. Sie können auch benutzerdefinierte Lineage-Ereignisse senden, wenn Sie die Lineage für einen nicht unterstützten Operator melden möchten.
Sie können mit folgenden Tools auf Informationen zur Datenherkunft zugreifen:
- Data Lineage API
- Herkunftsgraphen für unterstützte Einträge in Knowledge Catalog. Weitere Informationen finden Sie in der Knowledge Catalog-Dokumentation unter Herkunftsgrafiken.
Wenn Sie eine Umgebung erstellen, wird die Integration 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 Lineage-Backend konfiguriert.
Sie können die Datenherkunftsintegration deaktivieren, wenn Sie eine Umgebung erstellen.
Für eine vorhandene Umgebung können Sie die Integration der Datenherkunft jederzeit aktivieren oder deaktivieren.
Überlegungen zu Funktionen in Managed Service for Apache Airflow
In Managed Airflow wird in den folgenden Fällen ein RPC-Aufruf zum Erstellen von Lineage-Ereignissen ausgeführt:
- Wenn eine Airflow-Aufgabe beginnt oder endet
- Wenn eine DAG-Ausführung beginnt oder endet
Weitere Informationen zu diesen Entitäten finden Sie in der Knowledge Catalog-Dokumentation unter Lineage-Informationsmodell und Lineage API-Referenz.
Für den ausgegebenen Lineage-Traffic gelten Kontingente in der Data Lineage API. Managed Airflow verbraucht Schreibkontingent.
Die Preise für die Verarbeitung von Herkunftsdaten unterliegen der Herkunftspreisgestaltung. Hinweise zur Data Lineage
Leistungsüberlegungen in Managed Service for Apache Airflow
Die Data Lineage wird am Ende der Ausführung der Airflow-Aufgabe gemeldet. Im Durchschnitt dauert die Berichterstellung zur 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 Hauptoperatorlogik ist davon nicht betroffen, aber die gesamte Aufgabeninstanz wird etwas länger ausgeführt, um die Daten zur Berichterstellungs-Lineage zu berücksichtigen.
In einer Umgebung, in der die Datenherkunft gemeldet wird, fallen geringfügig höhere Kosten an, da für die Meldung der Datenherkunft zusätzliche Zeit benötigt wird.
Compliance
Die Datenherkunft bietet unterschiedliche Supportstufen für Funktionen wie VPC Service Controls. Sehen Sie sich die Überlegungen zur Datenherkunft an, um sicherzustellen, dass die Supportstufen Ihren Umgebungsanforderungen entsprechen.
Hinweis
Diese Funktion bietet unterschiedliche Compliance-Unterstützung. Lesen Sie zuerst die funktionsspezifischen Überlegungen für Managed Service for Apache Airflow und die Überlegungen zur Funktion „Datenherkunft“.
Alle erforderlichen IAM-Berechtigungen für den Datenursprung sind bereits in der Rolle „Composer Worker“ (
roles/composer.worker) enthalten. Diese Rolle ist die erforderliche Rolle für Dienstkonten der Umgebung.Weitere Informationen zu Berechtigungen für den Datenursprung finden Sie in der Knowledge Catalog-Dokumentation unter Rollen und Berechtigungen für den Datenursprung.
Prüfen, ob ein Operator unterstützt wird
Die Unterstützung der Datenherkunft wird vom Anbieterpaket bereitgestellt, in dem sich der Operator befindet:
Sehen Sie in den Changelogs des Anbieterpakets, in dem sich der Operator befindet, nach Einträgen, die OpenLineage-Unterstützung hinzufügen.
BigQueryToBigQueryOperator unterstützt OpenLineage beispielsweise 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 den in Ihrer Umgebung verwendeten Airflow-Build finden Sie hier. Sie können auch eine andere Version des Pakets in Ihrer Umgebung installieren.
Außerdem finden Sie auf der Seite Unterstützte Klassen in der apache-airflow-providers-openlineage-Dokumentation die neuesten unterstützten Operatoren.
Einbindung der Datenherkunft konfigurieren
Die Integration 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 Integration der Datenherkunft in einer bestimmten Managed Service for Apache Airflow-Umgebung.
Datenherkunft im 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 Knowledge Catalog-Herkunft einbinden 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 im Managed Service for Apache Airflow deaktivieren
Wenn Sie die Lineage-Integration in einer Managed Service for Apache Airflow-Umgebung deaktivieren, wird die Data Lineage API nicht deaktiviert. Wenn Sie die Lineage-Berichterstellung 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
Lineage-Ereignisse in unterstützten Operatoren senden
Wenn die Data Lineage aktiviert ist, senden unterstützte Operatoren automatisch Lineage-Ereignisse. Sie müssen Ihren DAG-Code nicht ändern.
Führen Sie beispielsweise die folgende Aufgabe aus:
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',
},
}
},
)
Dadurch wird das folgende Lineage-Diagramm in der Knowledge Catalog-Benutzeroberfläche erstellt:
Benutzerdefinierte Herkunftsereignisse senden
Sie können benutzerdefinierte Lineage-Ereignisse senden, wenn Sie die Lineage für einen Operator melden möchten, der nicht für die automatische Lineage-Berichterstellung 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 denoutletsder Upstream-Aufgabe festgelegt.
Im folgenden Beispiel wird die Verwendung von Ein- und Ausgängen demonstriert:
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 das folgende Lineage-Diagramm in der Knowledge Catalog-Benutzeroberfläche erstellt:
Lineage-Logs in Managed Service for Apache Airflow ansehen
Über den Link auf der Seite Umgebungskonfiguration im Abschnitt Knowledge Catalog-Integration für Datenherkunft können Sie Logs zur Datenherkunft aufrufen.
Fehlerbehebung
Wenn keine Herkunftsdaten an die Lineage API gemeldet werden oder Sie sie nicht im Knowledge Catalog sehen können, führen Sie die folgenden Schritte zur Fehlerbehebung aus:
- Achten Sie darauf, dass die Data Lineage API im Projekt Ihrer Managed Service for Apache Airflow-Umgebung aktiviert ist.
- Prüfen Sie, ob die Datenherkunftsintegration in der Managed Service for Apache Airflow-Umgebung aktiviert ist.
- Prüfen Sie, ob der von Ihnen verwendete Operator in der automatischen Unterstützung für Lineage-Berichte enthalten ist. Weitere Informationen finden Sie unter Unterstützte Airflow-Operatoren.
- Prüfen Sie die Lineage-Logs in Managed Service for Apache Airflow auf mögliche Probleme.