Cloud Composer 1 | Cloud Composer 2
Questa pagina spiega come abilitare il supporto per gli operatori differibili nel tuo ambiente e utilizzare gli operatori Google Cloud differibili nei DAG.
Informazioni sugli operatori differibili in Cloud Composer
Se hai almeno un'istanza di triggerer (o almeno due in ambienti a elevata resilienza), puoi utilizzare Operatori e trigger differiti nei DAG.
Per gli operatori differibili, Airflow suddivide l'esecuzione dell'attività nelle fasi seguenti:
Avvia l'operazione. In questa fase, l'attività occupa uno slot worker Airflow. L'attività esegue un'operazione che delega il job a un servizio diverso.
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, non è occupato uno spazio worker. L'attivatore Airflow ha un'architettura asincrone ed è in grado di gestire centinaia di questi job. Quando il trigger 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 di nuovo il job in modo che venga monitorato dall'attivatore.
L'attivatore è stateless e pertanto resiliente in caso di interruzioni o riavvii. Per questo motivo, i job a lunga esecuzione sono resilienti ai riavvii dei pod, a meno che il riavvio non si verifichi durante l'ultima fase, che dovrebbe essere breve.
Prima di iniziare
- Gli operatori e i sensori differibili sono disponibili negli ambienti di 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
Attiva il supporto per gli operatori differibili
Un componente dell'ambiente chiamato trigger di 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 la passa a un worker Airflow.
Per utilizzare la modalità differibile nei DAG, è necessaria almeno un'istanza dell'attivatore nel tuo ambiente (o almeno due in ambienti altamente resilienti). Puoi configurare gli attivatori quando crei un ambiente o regolare il numero di attivatori e i parametri di prestazioni per un ambiente esistente.
Operatori di Google Cloud che supportano la modalità differibile
Solo alcuni operatori Airflow sono stati estesi per supportare il modello differibile.
Il seguente elenco è un riferimento per gli operatori nel pacchetto airflow.providers.google.operators.cloud
che supportano la modalità differibile.
La colonna con la versione minima richiesta per il pacchetto airflow.providers.google.operators.cloud
rappresenta la prima versione del pacchetto 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 apache-airflow-providers-google obbligatoria |
---|---|
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 apache-airflow-providers-google obbligatoria |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operatori di Cloud Build
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operatori Cloud SQL
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
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 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 operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operatori AI Platform
Nome operatore | Versione apache-airflow-providers-google obbligatoria |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Utilizza operatori differibili nei DAG
Una convenzione comune per tutti gli operatori di Google Cloud è abilitare la modalità
differibile con il parametro booleano deferrable
. Se un operatore Google Cloud non ha questo parametro, non può essere eseguito in modalità differibile. 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à differibile:
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 dell'attivatore
L'attivatore genera log disponibili insieme ai log di altri componenti dell'ambiente. Per ulteriori informazioni sulla visualizzazione dei log di ambiente, consulta Visualizzare i log.
Monitora triggerer
Per ulteriori informazioni sul monitoraggio del componente dell'attivatore, consulta Metriche Airflow.
Oltre a monitorare l'attivatore, puoi controllare il numero di attività differite 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