Utilizza operatori decriptabili

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Informazioni sugli operatori differibili in Cloud Composer

Se hai almeno un'istanza di triggerer (o almeno due in ambienti altamente 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 uno slot worker Airflow. L'attività esegue un'operazione che delega il job a un altro servizio.

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

  2. Il trigger monitora il job fino al suo completamento. In questa fase, uno spazio worker non è occupato. L'attivatore Airflow ha un'architettura asincrona ed è in grado di gestire centinaia di job di questo tipo. 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. Questo callback, ad esempio, può contrassegnare l'attività come riuscita o eseguire un'altra operazione e impostare il job in modo che venga monitorato di nuovo dall'attivatore.

L'attivatore è stateless ed è pertanto resiliente a 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 posticipabili 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

Abilita il supporto per gli operatori reimpostabili

Un componente dell'ambiente chiamato triggerer Airflow monitora in modo asincrono tutte le attività differite nel tuo ambiente. Dopo il completamento di un'operazione differita da un'attività di questo tipo, l'attivatore passa l'attività a un worker Airflow.

È necessaria almeno un'istanza triggerer nel tuo ambiente (o almeno due in ambienti altamente resilienti) per utilizzare la modalità differibile nei DAG. Puoi configurare gli attivatori quando crei un ambiente o regolare il numero di triggerer e i parametri delle prestazioni per un ambiente esistente.

Operatori di Google Cloud che supportano la modalità decriptabile

Solo alcuni operatori Airflow sono stati estesi per supportare il modello derogabile. Di seguito è riportato un riferimento per gli operatori nel pacchetto airflow.providers.google.operators.cloud che supportano la modalità riproducibile. La colonna con il numero minimo di versione 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 di BigQuery

Nome 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 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 operatoreVersione di apache-airflow-providers-google richiesta
DataflowTemplatedJobStartOperator 8.9.0
DataflowStartFlexTemplateOperator 8.9.0

Operatori di Cloud Data Fusion

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

Operatori di Google Kubernetes Engine

Nome 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 a tutti gli operatori di Google Cloud è abilitare la modalità definibile con il parametro booleano deferrable. Se un operatore Google Cloud non ha questo parametro, non può essere eseguito in modalità ripristinabile. 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 in modalità deferrabile:

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 a quelli di altri componenti dell'ambiente. Per ulteriori informazioni sulla visualizzazione dei log dell'ambiente, consulta Visualizzare i log.

Monitora triggerer

Per maggiori informazioni sul monitoraggio del componente triggerer, consulta Metriche Airflow.

Oltre a monitorare l'attivatore, puoi controllare il numero di attività posticipate nelle metriche Attività non completate nella dashboard di Monitoring del tuo ambiente.

Passaggi successivi