Zurückgestellte Operatoren in Ihren DAGs verwenden

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird erläutert, wie Sie die Unterstützung für zurücksetzbare Operatoren in Ihrem und zurückstellende Google Cloud-Operatoren in Ihren DAGs verwenden.

Informationen zu zurückstellbaren Operatoren in Cloud Composer

Wenn Sie mindestens eine Triggerer-Instanz haben (oder mindestens zwei in stabilen Umgebungen) haben, können Sie Zurücksetzbare Operatoren und Trigger in Ihren DAGs.

Bei zurückstellbaren Operatoren teilt Airflow die Aufgabenausführung in die folgenden Phasen auf:

  1. 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 unterschiedlichen Diensts.

    Zum Beispiel kann das Ausführen eines BigQuery-Jobs bis zu mehreren Stunden. Nach dem Erstellen des Jobs wird der Vorgang übergibt die Arbeits-ID (BigQuery-Job-ID) an eine Airflow-Trigger.

  2. Der Trigger überwacht den Job, bis er abgeschlossen ist. In dieser Phase Worker-Slot nicht belegt ist. Der Airflow-Trigger hat asynchrone Architektur und ist in der Lage, Hunderte solcher Jobs zu bewältigen. Wenn der Parameter Trigger erkennt, dass der Job abgeschlossen ist, sendet er ein Ereignis, das in der letzten Phase.

  3. In der letzten Phase führt ein Airflow-Worker einen Callback 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: <ph type="x-smartling-placeholder">
      </ph>
    • Cloud Composer 2.0.31 und höhere Versionen
    • Airflow 2.2.5, 2.3.3 und höher

Unterstützung für zurückstellbare Operatoren aktivieren

Eine Umgebungskomponente namens Airflow-Triggerer überwacht asynchron alle verschobene Aufgaben in Ihrer Umgebung. Nach einem verzögerten Vorgang aus 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 wenn Sie eine Umgebung erstellen oder Anzahl der Trigger und Leistungsparameter für eine vorhandene Umgebung anpassen

Google Cloud-Operatoren, die den zurückgestellten 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 mindestens erforderlichen airflow.providers.google.operators.cloud-Paketversion stellt die früheste Paketversion dar, bei der dieser Operator den zurückgestellten Modus unterstützt.

Cloud Composer-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
CloudComposerCreateEnvironmentOperator 6.4.0
CloudComposerDeleteEnvironmentOperator 6.4.0
CloudComposerUpdateEnvironmentOperator 6.4.0

BigQuery-Operatoren

Name des BetreibersErforderliche 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-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
BigQueryDataTransferServiceStartTransferRunsOperator 8.9.0

Cloud Build-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
CloudBuildCreateBuildOperator 8.7.0

Cloud SQL-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
CloudSQLExportInstanceOperator 10.3.0

Dataflow-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
DataflowTemplatedJobStartOperator 8.9.0
DataflowStartFlexTemplateOperator 8.9.0

Cloud Data Fusion-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
CloudDataFusionStartPipelineOperator 8.9.0

Google Kubernetes Engine-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
GKEDeleteClusterOperator 9.0.0
GKECreateClusterOperator 9.0.0

AI Platform-Operatoren

Name des BetreibersErforderliche apache-airflow-providers-google-Version
MLEngineStartTrainingJobOperator 8.9.0

Zurückgestellte Operatoren in Ihren 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- . Andere Operatoren können eine andere Konvention haben. Zum Beispiel Community-Operatoren haben eine eigene 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 Triggerer generiert Logs, die zusammen mit Logs anderer -Umgebungskomponenten. Weitere Informationen zum Anzeigen Ihrer Umgebung Logs ansehen, finden Sie unter Logs ansehen.

Trigger überwachen

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