Cloud Composer 1 Cloud Composer 2
Integration von Data Lineage
Data Lineage ist ein Dataplex-Feature, mit dem 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. Data Lineage ist verfügbar für:
Cloud Composer 2-Umgebungen mit Versionen 2.1.2 und höher und Airflow-Version 2.2.5 und höher.
Cloud Composer 2-Umgebungen in denselben Regionen wie Data Catalog-Regionen, die die Datenherkunft unterstützen.
Sobald das Feature in Ihrer Cloud Composer-Umgebung aktiviert ist, meldet Cloud Composer bei der Ausführung von DAGs, die einen der unterstützten Operatoren verwenden, Herkunftsinformationen an die Data Lineage API.
So können Sie auf diese Informationen zugreifen:
- Data Lineage API
- Lineage-Visualisierungsgrafiken für unterstützte Data Catalog-Einträge in Dataplex. Weitere Informationen finden Sie in der Dataplex-Dokumentation unter Lineage-Visualisierungsdiagramme.
Unterstützte Operatoren
Die folgenden Operatoren unterstützen automatische Herkunftsberichte in Cloud Composer:
airflow.providers.google.cloud.operators.bigquery.BigQueryExecuteQueryOperator
airflow.providers.google.cloud.operators.bigquery.BigQueryInsertJobOperator
airflow.providers.google.cloud.transfers.bigquery_to_bigquery.BigQueryToBigQueryOperator
airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
airflow.providers.google.cloud.transfers.bigquery_to_gcs.BigQueryToGCSOperator
airflow.providers.google.cloud.transfers.gcs_to_bigquery.GCSToBigQueryOperator
airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator
airflow.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperator
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': GCP_PROJECT,
'dataset_id': 'dataset',
'table_id': 'tableB',
},
}
},
)
Ergebnisse zum Erstellen des folgenden Herkunftsdiagramms in der Dataplex-UI:

Überlegungen zu Funktionen für Cloud Composer
Jede Ausführung einer Airflow-Aufgabe, die die Datenherkunft meldet:
- Eine Erstellungs- oder Aktualisierungs-RPC-Anfrage für einen Herkunftsprozess
- Eine Erstellungs- oder Aktualisierungs-RPC-Anfrage für eine Herkunftsausführung
- Eine oder mehrere RPC-Anfragen zum Erstellen von Herkunftsereignissen (meist 0 oder 1)
Weitere Informationen zu diesen Entitäten finden Sie in der Dataplex-Dokumentation unter Lineage-Informationsmodell und in der Lineage API-Referenz.
Die Preise für die Verarbeitung von Herkunftsdaten unterliegen den Preisen für die Herkunft. Siehe Überlegungen zur Data-Herkunft.
Auswirkungen auf die Leistung
Die Datenherkunft wird am Ende der Airflow-Taskausführung gemeldet. Im Durchschnitt dauert die Erstellung von Data Lineage-Berichten etwa 1–2 Sekunden.
Dies wirkt sich nicht auf die Leistung der Aufgabe selbst aus: Airflow-Aufgaben schlagen nicht fehl, wenn die Herkunft nicht erfolgreich an die Lineage API gemeldet wird. Dies hat keine Auswirkungen auf die Logik des Hauptoperators, aber die gesamte Aufgabeninstanz wird etwas länger ausgeführt, um die Herkunftsdaten der Berichterstellung zu berücksichtigen.
Bei einer Umgebung, die Data Lineage meldet, werden die damit verbundenen Kosten geringfügig steigen, da die Berichterstellung zur Datenherkunft länger dauert.
Compliance
Data Lineage bietet verschiedene Supportstufen für Features wie VPC Service Controls oder CMEK. Lesen Sie die Überlegungen zu Data Lineage, damit die Supportstufen Ihren Umgebungsanforderungen entsprechen.
Data Lineage-Einbindung verwenden
Die Einbindung von Data Lineage für Cloud Composer erfolgt pro Umgebung. Das bedeutet, dass für die Aktivierung der Funktion zwei Schritte erforderlich sind:
- Aktivieren Sie die Data Lineage API in Ihrem Projekt.
- Aktivieren Sie die Data Lineage-Einbindung in einer bestimmten Cloud Composer-Umgebung.
Hinweise
Aktivieren Sie die Data Lineage API. Weitere Informationen finden Sie in der Dataplex-Dokumentation unter Automatisierte Herkunft aktivieren.
Erforderliche Rollen
Für die Einbindung in Data Lineage müssen dem Dienstkonto der Cloud Composer-Umgebung die folgenden Berechtigungen hinzugefügt werden:
- Für die Standarddienstkonten: keine Änderungen erforderlich. Standarddienstkonten enthalten die erforderlichen Berechtigungen.
- Für nutzerverwaltete Dienstkonten: Weisen Sie Ihrem Dienstkonto die Rolle „Composer-Worker“ (
roles/composer.worker
) zu. Diese Rolle enthält alle erforderlichen Data-Lineage-Berechtigungen.
Weitere Informationen finden Sie in der Dataplex-Dokumentation unter Lineage-Rollen und -Berechtigungen.
Data Lineage in Cloud Composer 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 Abschnitt Dataplex Data Lineage-Einbindung auf Bearbeiten.
Wählen Sie im Bereich Dataplex Data Lineage-Integration die Option Enable integration with Dataplex Data Lineage aus und klicken Sie auf Save.
gcloud
Verwenden Sie das Argument --enable-cloud-data-lineage-integration
.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-cloud-data-lineage-integration
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Anhand des Umgebungsnamens werden Unterkomponenten für die Umgebung erstellt. Daher müssen Sie einen Namen angeben, der auch als Cloud Storage-Bucket-Name gültig ist. Eine Liste der Einschränkungen finden Sie in den Benennungsrichtlinien für Buckets.
LOCATION
durch die Region für die Umgebung.Ein Standort ist die Region, in der sich der GKE-Cluster der Umgebung befindet.
Beispiel:
gcloud beta composer environments update example-environment \
--location us-central1 \
--enable-cloud-data-lineage-integration
Benutzerdefinierte Herkunftsereignisse senden
Sie können benutzerdefinierte Herkunftsereignisse senden, wenn Sie die Herkunft eines Operators melden möchten, der für automatische Herkunftsberichte nicht unterstützt wird.
So senden Sie beispielsweise benutzerdefinierte Ereignisse mit:
BashOperator
den Parameterinlets
oderoutlets
in der Aufgabendefinition ändern.PythonOperator
den Parametertask.inlets
odertask.outlets
in der Aufgabendefinition ändern. Wenn SieAUTO
für den Parameterinlets
verwenden, wird der Wert auf denoutlets
der vorgelagerten Aufgabe gesetzt.
Wenn Sie beispielsweise diese Aufgabe ausführen:
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=GCP_PROJECT,
dataset_id='dataset',
table_id='table1',
)],
outlets=[BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table2',
)]
)
def _python_task(task):
task.inlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table3',
))
task.outlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table4',
))
python_task = PythonOperator(
task_id='python_task',
dag=dag,
python_callable=_python_task,
inlets=[AUTO],
)
bash_task >> python_task
Ergebnisse zum Erstellen des folgenden Herkunftsdiagramms in der Dataplex-UI:

Data Lineage in Cloud Composer deaktivieren
Durch das Deaktivieren der Lineage-Integration in einer Cloud Composer-Umgebung wird die Data Lineage API nicht deaktiviert. Wenn Sie die Herkunftsberichte für Ihr Projekt vollständig deaktivieren möchten, deaktivieren Sie auch die Data Lineage API. Siehe 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 Abschnitt Dataplex Data Lineage-Einbindung auf Bearbeiten.
Wählen Sie im Bereich Dataplex Data Lineage-Integration die Option Integration mit Dataplex Data Lineage deaktivieren aus und klicken Sie auf Speichern.
gcloud
Verwenden Sie das Argument --disable-cloud-data-lineage-integration
.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-cloud-data-lineage-integration
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.Der Name muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein. Anhand des Umgebungsnamens werden Unterkomponenten für die Umgebung erstellt. Daher müssen Sie einen Namen angeben, der auch als Cloud Storage-Bucket-Name gültig ist. Eine Liste der Einschränkungen finden Sie in den Benennungsrichtlinien für Buckets.
LOCATION
durch die Region für die Umgebung.Ein Standort ist die Region, in der sich der GKE-Cluster der Umgebung befindet.
Beispiel:
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-cloud-data-lineage-integration
Herkunftslogs in Cloud Composer ansehen
Sie können Logs im Zusammenhang mit Data Lineage über den Link auf der Seite Umgebungskonfiguration im Abschnitt Dataplex Data Lineage-Integration prüfen.
Fehlerbehebung
Wenn Herkunftsdaten nicht an die Lineage API gemeldet werden oder in Dataplex nicht angezeigt werden, führen Sie die folgenden Schritte zur Fehlerbehebung aus:
- Achten Sie darauf, dass die Data Lineage API im Projekt Ihrer Cloud Composer-Umgebung aktiviert ist.
- Prüfen Sie, ob die Data Lineage-Einbindung in der Cloud Composer-Umgebung aktiviert ist.
- Prüfen Sie, ob der von Ihnen verwendete Operator in der automatischen Lineage-Berichterstellung enthalten ist. Siehe Unterstützte Airflow-Operatoren.
- Prüfen Sie die Abstammungslogs in Cloud Composer auf mögliche Probleme.