¿Qué es Apache Airflow?

Apache Airflow es un sistema de gestión del flujo de trabajo (WMS – Warehouse Management System) que ofrece una solución para administrar las operaciones recurrentes en una empresa.

Nos permite crear tareas, agruparlas mediante una plantilla lógica, definir los tiempos de ejecución y monitorear los flujos definidos.

El flujo de trabajo es un conjunto de tareas que se definen como gráficos acíclicos dirigidos (DAG), es código que se vuelve sencillo de mantener, actualizar y dar seguimiento a aquello que lo compone. Otra manera de explicar un DAG es como un contenedor de tareas y dependencias que establece cómo y cuando deben ejecutarse cada una de ellas.

Si tu objetivo es automatizar un conjunto de acciones en lugar de hacerlas de manera independiente debes aprender Apache Airflow.

Un ejemplo de un DAG visualmente representado es el siguiente:

Cada una de las cajas que se muestran corresponden a una tarea y cada tarea está conformada por código Python que es definido por nosotros como programadores.

Conforme se ejecuta el DAG cada caja cambia a un color en particular dependiendo en el status en el que se encuentra, los cuales son: success, running, failed, skipped, retry, queued y no status.

Una de sus ventajas es que brinda diferentes maneras de visualizar que tareas han sido ejecutadas y el tiempo que le llevó hacerlo o en caso contrario saber cuáles de ellas han fallado y la causa de su interrupción.

Hay dos conceptos importantes a mencionar, el primero es el Operador que puede definirse como la ejecución de una tarea explícita que espera se cumpla algún criterio, pueden realizar cualquier función que se puede realizar con Python.

Por otro lado el Sensor, es que una tarea que espera un cambio para realizar la acción, por ejemplo que encuentre archivos en una carpeta, una respuesta 200 de la API, un cambio en alguna columna, etc.

Si deseas saber más acerca de Apache Airflow puedes consultar su documentación oficial en la siguiente página https://airflow.apache.org/

Leave A Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *