Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
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 uno slot del 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 alcuni secondi a diverse ore. Dopo aver creato il job, l'operazione trasmette l'identificatore del lavoro (ID job BigQuery) a un attivatore Airflow.
L'attivatore monitora il job fino al completamento. In questa fase, uno slot di worker non è occupato. Il trigger di 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 di lunga durata 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 differibili 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
Attivare il supporto degli operatori differibili
Un componente dell'ambiente chiamato triggerer di Airflow monitora in modo asincrono tutte le attività differite nel tuo ambiente. Una volta completata un'operazione differita da un'attività di questo tipo, l'attivatore la passa a un worker di 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 o modificare il numero di attivatori e parametri di rendimento per un ambiente esistente.
OperatoriGoogle Cloud che supportano la modalità differibile
Solo alcuni operatori Airflow sono stati estesi per supportare il modello differibile.
L'elenco seguente è un riferimento per gli operatori nel
package airflow.providers.google.operators.cloud
che supportano la modalità differibile.
La colonna con la versione minima richiesta del pacchetto airflow.providers.google.operators.cloud
rappresenta la versione del pacchetto precedente in cui l'operatore supporta la modalità differibile.
Operatori di Cloud Composer
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operatori BigQuery
Nome dell'operatore | Versione 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 dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operatori di Cloud Build
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operatori Cloud SQL
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operatori Dataflow
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operatori Cloud Data Fusion
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operatori Dataproc
Nome dell'operatore | Versione 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 dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operatori di AI Platform
Nome dell'operatore | Versione apache-airflow-providers-google richiesta |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Utilizzare gli operatori differibili nei DAG
Una convenzione comune per tutti gli Google Cloud operatori è attivare la modalità posticipabile 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, alcuni operatori della community hanno una classe separata con il suffisso Async
nel nome.
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 su come visualizzare i log dell'ambiente, vedi Visualizzare i log.
Attivatore del monitoraggio
Per ulteriori informazioni sul monitoraggio del componente attivatore, consulta Metriche di 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