Usa operatori decriptabili 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 una un servizio diverso.

    Ad esempio, l'esecuzione di un job BigQuery può richiedere 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, lo spazio di lavoro non è occupato. L'attivatore Airflow dispone di ed è in grado di gestirne centinaia. Quando rileva che il job è stato completato, invia un evento che attiva nell'ultima fase.

  3. Nell'ultima fase, un worker Airflow esegue un callback. Questo callback, per esempio, può contrassegnare l'attività come completata o eseguire un'altra operazione imposta il job in modo che venga monitorato di nuovo 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

  • Operatori e sensori posticipabili sono disponibili in Cloud Composer 2 ambienti e richiede 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 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 regolare il numero di triggerer e i parametri di 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. L'elenco seguente è un riferimento per gli operatori in Pacchetto airflow.providers.google.operators.cloud che supportano la modalità ripristinabile. 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 per tutti gli operatori di Google Cloud è abilitare il metodo 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, alcune gli operatori della community hanno una classe separata con il suffisso Async nella .

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

Monitora triggerer

Per ulteriori informazioni sul monitoraggio del componente triggerer, 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