Usa operadores diferibles (original) (raw)
Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se explica cómo habilitar la compatibilidad con operadores diferibles en tu entorno y usar operadores Google Cloud diferibles en tus DAG.
Acerca de los operadores diferidos en Cloud Composer
Si tienes al menos una instancia de activador (o al menos dos en entornos altamente resilientes), puedes usar operadores y activadores diferibles en tus DAG.
En el caso de los operadores aplazables, Airflow divide la ejecución de tareas en las siguientes etapas:
- Inicia la operación. En esta etapa, la tarea ocupa un espacio de trabajador de Airflow. La tarea realiza una operación que delega la tarea a un servicio diferente.
Por ejemplo, ejecutar un trabajo de BigQuery puede tardar desde unos segundos hasta varias horas. Después de crear el trabajo, la operación pasa el identificador de trabajo (ID de trabajo de BigQuery) a un activador de Airflow. - El activador supervisa el trabajo hasta que finaliza. En esta etapa, no se ocupa un espacio de trabajador. El activador de Airflow tiene una arquitectura asincrónica y puede controlar cientos de trabajos de este tipo. Cuando el activador detecta que la tarea finalizó, envía un evento que activa la última etapa.
- En la última etapa, un trabajador de Airflow ejecuta una devolución de llamada. Por ejemplo, esta devolución de llamada puede marcar la tarea como correcta, ejecutar otra operación y configurar el trabajo para que el activador lo supervise nuevamente.
El activador no tiene estado y, por lo tanto, es resistente a interrupciones o reinicios. Debido a esto, las tareas de larga duración son resistentes a los reinicios de pods, a menos que el reinicio se produzca durante la última etapa, que se espera que sea breve.
Antes de comenzar
- Los operadores y sensores diferidos 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
Habilita la compatibilidad con operadores aplazables
Un componente del entorno llamado activador de Airflow supervisa de forma asincrónica todas las tareas diferidas de tu entorno. Después de que se completa una operación diferida de una tarea de este tipo, el activador pasa la tarea a un trabajador de Airflow.
Necesitas al menos una instancia del activador en tu entorno (o al menos dos en entornos altamente resilientes) para usar el modo diferido en tus DAG. Puedes configurar los activadores cuando creas un entorno o ajustar la cantidad de activadores y parámetros de rendimiento de un entorno existente.
OperadoresGoogle Cloud que admiten el modo diferido
Solo se extendieron algunos operadores de Airflow para admitir el modelo aplazable. La siguiente lista es una referencia para los operadores del paquete airflow.providers.google.operators.cloud que admiten el modo diferido. La columna con la versión mínima de paquete airflow.providers.google.operators.cloud
requerida representa la versión de paquete más antigua en la que ese operador admite el modo diferido.
Usa operadores diferibles en tus DAG
Una convención común para todos los operadores Google Cloud es habilitar el modo aplazable con el parámetro booleano deferrable
. Si un operador Google Cloudno tiene este parámetro, no se puede ejecutar en el modo diferido. 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 diferido:
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,
)
Cómo ver los 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 Visualiza los registros.
Activador de supervisión
Para obtener más información sobre la supervisión del componente activador, consulta Métricas de Airflow.
Además de supervisar el activador, puedes verificar la cantidad de tareas diferidas en las métricas de Tarea sin terminar en el panel de supervisión de tu entorno.