Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird beschrieben, wie Sie die Unterstützung für verzögerbare Operatoren in Ihrer Umgebung aktivieren und verzögerbare Google Cloud-Operatoren in Ihren DAGs verwenden.
Informationen zu zurückstellbaren Operatoren in Cloud Composer
Wenn Sie mindestens eine Triggerinstanz (oder mindestens zwei in hochverfügbaren Umgebungen) haben, können Sie zurückstellbare Operatoren und Trigger in Ihren DAGs verwenden.
Bei verschiebbaren Operatoren unterteilt Airflow die Aufgabenausführung in die folgenden Phasen:
Starten Sie den Vorgang. In dieser Phase belegt die Aufgabe einen Airflow-Worker-Slot. Die Aufgabe führt einen Vorgang aus, der den Job an einen anderen Dienst delegiert.
Zum Beispiel kann das Ausführen eines BigQuery-Jobs bis zu mehreren Stunden. Nach dem Erstellen des Jobs übergibt die Arbeits-ID (BigQuery-Job-ID) an eine Airflow-Trigger.
Der Trigger überwacht den Job bis zum Abschluss. In dieser Phase ist ein Worker-Slot nicht belegt. Der Airflow-Trigger hat eine asynchrone Architektur und kann Hunderte solcher Jobs verarbeiten. Wenn der Trigger erkennt, dass der Job abgeschlossen ist, sendet er ein Ereignis, das die letzte Phase auslöst.
In der letzten Phase führt ein Airflow-Worker einen Rückruf aus. Dieser Callback, für die Aufgabe als erfolgreich markieren, einen anderen Vorgang ausführen Legen Sie fest, dass der Job noch einmal vom Triggerer überwacht werden soll.
Der Trigger ist zustandslos und widerstandsfähig gegen Unterbrechungen oder Neustarts, Aus diesem Grund sind Jobs mit langer Ausführungszeit Pod-Neustarts standhalten. es sei denn, der Neustart erfolgt in der letzten Phase, die wahrscheinlich kurz dauert.
Hinweise
- Aussetzbare Operatoren und Sensoren sind in Cloud Composer 2 verfügbar
und erfordern Folgendes:
- Cloud Composer 2.0.31 und höhere Versionen
- Airflow 2.2.5, 2.3.3 und höher
Unterstützung für verzögerbare Operatoren aktivieren
Eine Umgebungskomponente namens Airflow-Triggerer überwacht asynchron alle verschobene Aufgaben in Ihrer Umgebung. Nachdem ein verzögerter Vorgang einer solchen Aufgabe abgeschlossen ist, übergibt der Trigger die Aufgabe an einen Airflow-Worker.
Sie benötigen mindestens eine Triggerer-Instanz in Ihrer Umgebung (oder mindestens zwei in Umgebungen mit extrem hoher Ausfallsicherheit), um den zurückstellbaren Modus in Ihren DAGs zu verwenden. Sie können die Trigger beim Erstellen einer Umgebung konfigurieren oder die Anzahl der Trigger und Leistungsparameter für eine vorhandene Umgebung anpassen.
Google Cloud-Operator, die den verzögerbaren Modus unterstützen
Nur einige Airflow-Operatoren wurden erweitert, um das zurückgestellte Modell zu unterstützen.
Die folgende Liste dient als Referenz für die Operatoren in der
airflow.providers.google.operators.cloud
-Paket
die den zurückgestellten Modus unterstützen.
Die Spalte mit der erforderlichen Mindestversion der airflow.providers.google.operators.cloud
-Paketversion entspricht der frühesten Paketversion, bei der der jeweilige Betreiber den verzögerbaren Modus unterstützt.
Cloud Composer-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
BigQuery-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
BigQueryCheckOperator | 8.4.0 |
BigQueryValueCheckOperator | 8.4.0 |
BigQueryIntervalCheckOperator | 8.4.0 |
BigQueryGetDataOperator | 8.4.0 |
BigQueryInsertJobOperator | 8.4.0 |
BigQuery Data Transfer Service-Betreiber
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Cloud Build-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Cloud SQL-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Dataflow-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Cloud Data Fusion-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Dataproc-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
DataprocCreateClusterOperator | 8.9.0 |
DataprocDeleteClusterOperator | 8.9.0 |
DataprocJobBaseOperator | 8.4.0 |
DataprocInstantiateWorkflowTemplateOperator | 9.0.0 |
DataprocInstantiateInlineWorkflowTemplateOperator | 10.1.0 |
DataprocSubmitJobOperator | 8.4.0 |
DataprocUpdateClusterOperator | 8.9.0 |
DataprocCreateBatchOperator | 8.9.0 |
Google Kubernetes Engine-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
AI Platform-Operatoren
Name des Betreibers | Erforderliche apache-airflow-providers-google -Version |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Zurückstellbare Operatoren in DAGs verwenden
Eine gemeinsame Konvention für alle Google Cloud-Operatoren besteht darin, die Funktion
zurückgestellter Modus mit dem booleschen Parameter deferrable
. Wenn ein Google Cloud-
nicht über diesen Parameter verfügt, kann er nicht im deferrable-
. Bei anderen Betreibern kann eine andere Konvention gelten. Einige Betreiber von Community-Netzwerken haben beispielsweise eine separate Klasse mit dem Suffix Async
im Namen.
Im folgenden Beispiel-DAG wird der DataprocSubmitJobOperator
-Operator in der Methode
zurückgestellter Modus:
PYSPARK_JOB = {
"reference": { "project_id": "PROJECT_ID" },
"placement": { "cluster_name": "PYSPARK_CLUSTER_NAME" },
"pyspark_job": {
"main_python_file_uri": "gs://dataproc-examples/pyspark/hello-world/hello-world.py"
},
}
DataprocSubmitJobOperator(
task_id="dataproc-deferrable-example",
job=PYSPARK_JOB,
deferrable=True,
)
Trigger-Logs ansehen
Der Auslöser generiert Protokolle, die zusammen mit Protokollen anderer Umgebungskomponenten verfügbar sind. Weitere Informationen zum Aufrufen von Umgebungslogs finden Sie unter Logs ansehen.
Monitor-Trigger
Weitere Informationen zum Überwachen der Triggerkomponente finden Sie unter Airflow-Messwerte:
Neben dem Monitoring des Triggers können Sie auch die Anzahl der unter den Messwerten Unerledigte Aufgaben im Monitoring-Dashboard Ihrer zu verbessern.
Nächste Schritte
- Fehlerbehebung bei Problemen mit Airflow-Triggern
- Messwerte für Airflow-Trigger
- Airflow-Triggererlogs