Utilizzare gli operatori differibili nei DAG

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina spiega come abilitare il supporto per gli operatori differiti nel tuo e utilizzare operatori Google Cloud decriptabili nei tuoi DAG.

Informazioni sugli operatori differibili in Cloud Composer

Se hai almeno un'istanza dell'attivatore (o almeno due in un'istanza ambienti resilienti), puoi utilizzare Operatori e trigger decriptabili nei tuoi DAG.

Per gli operatori decriptabili, Airflow suddivide l'esecuzione delle attività nelle seguenti fasi:

  1. Avvia l'operazione. In questa fase, l'attività occupa un worker Airflow slot machine. L'attività esegue un'operazione che delega il job a un servizio diverso.

    Ad esempio, l'esecuzione di un job BigQuery può richiedere da alcuni secondi a diverse ore. Dopo aver creato il job, l'operazione trasmette l'identificatore del lavoro (ID job BigQuery) a un attivatore Airflow.

  2. L'attivatore monitora il job fino al completamento. In questa fase, lo spazio di lavoro non è occupato. L'attivatore Airflow ha un'architettura asincrona ed è in grado di gestire centinaia di questi job. Quando l'attivatore rileva che il job è stato completato, invia un evento che attiva l'ultima fase.

  3. Nell'ultima fase, un worker Airflow esegue un callback. Ad esempio, questo callback può contrassegnare l'attività come completata o eseguire un'altra operazione e impostare nuovamente il job da monitorare dall'attivatore.

L'attivatore è stateless ed è pertanto resiliente alle interruzioni o riavvii, . Per questo motivo, i job a lunga esecuzione sono resilienti ai riavvii dei pod. a meno che il riavvio non avvenga durante l'ultima fase, che dovrebbe essere breve.

Prima di iniziare

  • Gli operatori e i sensori differibili sono disponibili negli ambienti Cloud Composer 2 e richiedono quanto segue:
    • Cloud Composer 2.0.31 e versioni successive
    • Airflow 2.2.5, 2.3.3 e versioni successive
di Gemini Advanced.

Abilita il supporto per gli operatori reimpostabili

Un componente dell'ambiente denominato triggerer Airflow monitora in modo asincrono tutti ad attività differite nel tuo ambiente. Dopo un'operazione differita da un'attività di questo tipo viene completato, l'attivatore passa l'attività a un worker Airflow.

Devi avere almeno un'istanza triggerer nel tuo ambiente (o almeno due) in ambienti altamente resilienti) per usare la modalità definibile nei DAG. Puoi configurare gli attivatori quando crei un ambiente o modificare il numero di attivatori e parametri di rendimento per un ambiente esistente.

Operatori Google Cloud che supportano la modalità differibile

Solo alcuni operatori Airflow sono stati estesi per supportare il modello differibile. L'elenco seguente è un riferimento per gli operatori in Pacchetto airflow.providers.google.operators.cloud che supportano la modalità ripristinabile. La colonna con la versione minima del pacchetto airflow.providers.google.operators.cloud richiesta rappresenta la prima versione del pacchetto in cui l'operatore supporta la modalità reimpostabile.

Operatori di Cloud Composer

Nome operatoreVersione di apache-airflow-providers-google richiesta
CloudComposerCreateEnvironmentOperator 6.4.0
CloudComposerDeleteEnvironmentOperator 6.4.0
CloudComposerUpdateEnvironmentOperator 6.4.0

Operatori BigQuery

Nome dell'operatoreVersione di apache-airflow-providers-google richiesta
BigQueryCheckOperator 8.4.0
BigQueryValueCheckOperator 8.4.0
BigQueryIntervalCheckOperator 8.4.0
BigQueryGetDataOperator 8.4.0
BigQueryInsertJobOperator 8.4.0

Operatori di BigQuery Data Transfer Service

Nome operatoreVersione di apache-airflow-providers-google richiesta
BigQueryDataTransferServiceStartTransferRunsOperator 8.9.0

Operatori di Cloud Build

Nome dell'operatoreVersione di apache-airflow-providers-google richiesta
CloudBuildCreateBuildOperator 8.7.0

Operatori di Cloud SQL

Nome operatoreVersione di apache-airflow-providers-google richiesta
CloudSQLExportInstanceOperator 10.3.0

Operatori di Dataflow

Nome dell'operatoreVersione di apache-airflow-providers-google richiesta
DataflowTemplatedJobStartOperator 8.9.0
DataflowStartFlexTemplateOperator 8.9.0

Operatori Cloud Data Fusion

Nome operatoreVersione apache-airflow-providers-google obbligatoria
CloudDataFusionStartPipelineOperator 8.9.0

Operatori di Google Kubernetes Engine

Nome dell'operatoreVersione di apache-airflow-providers-google richiesta
GKEDeleteClusterOperator 9.0.0
GKECreateClusterOperator 9.0.0

Operatori di AI Platform

Nome operatoreVersione di apache-airflow-providers-google richiesta
MLEngineStartTrainingJobOperator 8.9.0

Usa operatori decriptabili nei DAG

Una convenzione comune per tutti gli operatori Google Cloud è attivare la modalità posticipabile con il parametro booleano deferrable. Se un account Google Cloud non ha questo parametro, non può essere eseguito nel . Altri operatori possono avere una convenzione diversa. Ad esempio, alcuni operatori della community hanno una classe separata con il suffisso Async nel nome.

Il DAG di esempio seguente utilizza l'operatore DataprocSubmitJobOperator nella modalità ripristinabile:

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,
    )

Visualizza log triggerer

L'attivatore genera log disponibili insieme ai log di altri componenti dell'ambiente. Per ulteriori informazioni sulla visualizzazione dei log dell'ambiente, vedi Visualizzare i log.

Attivatore del monitoraggio

Per ulteriori informazioni sul monitoraggio del componente attivatore, consulta Metriche Airflow.

Oltre a monitorare l'attivatore, puoi controllare il numero di nelle metriche Attività non completate nella dashboard di Monitoring del completamente gestito di Google Cloud.

Passaggi successivi