Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica cómo habilitar la compatibilidad con operadores aplazables en tu entorno y cómo usar operadores aplazables en tus DAGs. Google Cloud
Acerca de los operadores aplazables en Cloud Composer
Si tienes al menos una instancia de activador (o al menos dos en entornos de alta resiliencia), puedes usar operadores y activadores aplazables en tus DAGs.
En el caso de los operadores aplazables, Airflow divide la ejecución de las tareas en las siguientes fases:
Inicia la operación. En esta fase, la tarea ocupa un espacio de trabajador de Airflow. La tarea realiza una operación que delega el trabajo en otro servicio.
Por ejemplo, ejecutar una tarea de BigQuery puede tardar desde unos segundos hasta varias horas. Después de crear la tarea, la operación pasa el identificador de trabajo (ID de tarea de BigQuery) a un activador de Airflow.
El activador monitoriza el trabajo hasta que finaliza. En esta fase, no se ocupa ningún espacio de trabajo. El activador de Airflow tiene una arquitectura asíncrona y puede gestionar cientos de estas tareas. Cuando el activador detecta que el trabajo ha finalizado, envía un evento que activa la última fase.
En la última fase, un trabajador de Airflow ejecuta una retrollamada. Esta retrollamada, por ejemplo, puede marcar la tarea como completada correctamente o ejecutar otra operación y configurar el trabajo para que el activador lo vuelva a monitorizar.
El activador no tiene estado y, por lo tanto, es resistente a las interrupciones o los reinicios. Por este motivo, los trabajos de larga duración son resistentes a los reinicios de pods, a menos que el reinicio se produzca durante la última fase, que se espera que sea breve.
Antes de empezar
- Los operadores y sensores aplazables están disponibles en los entornos de Cloud Composer 2 y requieren lo siguiente:
- Cloud Composer 2.0.31 y versiones posteriores
- Airflow 2.2.5, 2.3.3 y versiones posteriores
Habilitar la compatibilidad con operadores aplazables
Un componente del entorno llamado activador de Airflow monitoriza de forma asíncrona todas las tareas diferidas de tu entorno. Una vez que se completa una operación diferida de una tarea de este tipo, el activador pasa la tarea a un trabajador de Airflow.
Para usar el modo aplazable en tus DAGs, necesitas al menos una instancia de activador en tu entorno (o al menos dos en entornos de alta resiliencia). Puedes configurar los activadores cuando creas un entorno o ajustar el número de activadores y los parámetros de rendimiento de un entorno que ya tengas.
Operadores deGoogle Cloud que admiten el modo aplazable
Solo se han ampliado algunos operadores de Airflow para que admitan el modelo aplazable.
La siguiente lista es una referencia de los operadores del paquete airflow.providers.google.operators.cloud
que admiten el modo aplazable.
La columna con la versión mínima requerida del paquete airflow.providers.google.operators.cloud
representa la versión más antigua del paquete en la que el operador admite el modo aplazable.
Operadores de Cloud Composer
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operadores de BigQuery
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
BigQueryCheckOperator | 8.4.0 |
BigQueryValueCheckOperator | 8.4.0 |
BigQueryIntervalCheckOperator | 8.4.0 |
BigQueryGetDataOperator | 8.4.0 |
BigQueryInsertJobOperator | 8.4.0 |
Operadores de BigQuery Data Transfer Service
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operadores de Cloud Build
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operadores de Cloud SQL
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operadores de Dataflow
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operadores de Cloud Data Fusion
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operadores de Dataproc
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
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 |
Operadores de Google Kubernetes Engine
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operadores de AI Platform
Nombre del operador | Versión de apache-airflow-providers-google necesaria |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Usar operadores aplazables en los DAGs
Una convención habitual para todos los operadores Google Cloud es habilitar el modo aplazable con el parámetro booleano deferrable
. Si un operador Google Cloud
no tiene este parámetro, no se puede ejecutar en el modo aplazable. Otros operadores pueden tener una convención diferente. Por ejemplo, algunos operadores de la comunidad tienen una clase independiente con el sufijo Async
en el nombre.
En el siguiente ejemplo de DAG se usa el operador DataprocSubmitJobOperator
en el modo aplazable:
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,
)
Ver registros del activador
El activador genera registros que están disponibles junto con los registros de otros componentes del entorno. Para obtener más información sobre cómo ver los registros de tu entorno, consulta Ver registros.
Monitor triggerer
Para obtener más información sobre la monitorización del componente de activador, consulta Métricas de Airflow.
Además de monitorizar el activador, puedes consultar el número de tareas aplazadas en las métricas Tarea sin finalizar del panel de control Monitorización de tu entorno.
Siguientes pasos
- Solucionar problemas del activador de Airflow
- Métricas de activadores de Airflow
- Registros del activador de Airflow