Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega come attivare il supporto degli operatori differibili nel tuo ambiente e utilizzare gli operatori Google Cloud differibili nei tuoi DAG.
Informazioni sugli operatori differibili in Cloud Composer
Se hai almeno un'istanza di attivatore (o almeno due in ambienti altamente resilienti), puoi utilizzare attivatori e operatori differibili nei tuoi DAG.
Per gli operatori differibili, Airflow suddivide l'esecuzione delle attività nelle seguenti fasi:
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.
L'attivatore monitora il job fino al completamento. In questa fase, uno slot di worker 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.
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 è senza stato e quindi è resiliente alle interruzioni o ai 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
Attivare il supporto per gli operatori differibili
Un componente dell'ambiente chiamato attivatore Airflow monitora in modo asincrono tutte le 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.
Per utilizzare la modalità differibile nei DAG, è necessario almeno un'istanza di attivatore nell'ambiente (o almeno due in ambienti altamente resilienti). Puoi configurare gli attivatori quando crei un ambiente regolare il numero di triggerer e i parametri di prestazioni per un ambiente esistente.
Operatori Google Cloud che supportano la modalità differibile
Solo alcuni operatori Airflow sono stati estesi per supportare il modello derogabile.
Il seguente elenco è un riferimento per gli operatori nel
package airflow.providers.google.operators.cloud
che supportano la modalità differibile.
La colonna con la versione minima del pacchetto airflow.providers.google.operators.cloud
richiesta rappresenta la versione del pacchetto precedente in cui l'operatore supporta la modalità differibile.
Operatori di Cloud Composer
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operatori BigQuery
Nome operatore | Versione 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 operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operatori di Cloud Build
Nome dell'operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operatori Cloud SQL
Nome operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operatori Dataflow
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operatori di Cloud Data Fusion
Nome dell'operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operatori Dataproc
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
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 |
Operatori di Google Kubernetes Engine
Nome dell'operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operatori di AI Platform
Nome dell'operatore | Versione 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 operatore Google Cloud non ha questo parametro, non può essere eseguito in modalità posticipabile. Altri operatori possono avere una convenzione diversa. Ad esempio, alcune
gli operatori della community hanno una classe separata con il suffisso Async
nella
.
Il seguente DAG di esempio utilizza l'operatore DataprocSubmitJobOperator
in modalità posticipabile:
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 i log dell'attivatore
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.
Monitora triggerer
Per ulteriori informazioni sul monitoraggio del componente triggerer, consulta Metriche Airflow.
Oltre a monitorare l'attivatore, puoi controllare il numero di attività posticipate nelle metriche Attività incompiuta nella dashboard di monitoraggio del tuo ambiente.
Passaggi successivi
- Risolvere i problemi dell'attivatore Airflow
- Metriche dell'attivatore di flusso di aria
- Log dell'attivatore Airflow