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:
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.
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.
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 operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operatori di 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 operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operatori di Cloud SQL
Nome operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operatori di Dataflow
Nome operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operatori di Cloud Data Fusion
Nome operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operatori Dataproc
Nome operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
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 operatore | Versione di apache-airflow-providers-google richiesta |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operatori di AI Platform
Nome operatore | Versione 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
- Risoluzione dei problemi dell'attivatore Airflow
- Metriche dell'attivatore Airflow
- Log dell'attivatore Airflow