Buscar
×

Aprender Airflow: Guía Completa para Principiantes

Este artículo fue publicado por el autor Editores el 09/02/2025 y actualizado el 09/02/2025. Esta en la categoria Artículos.

¿Alguna vez has soñado con automatizar tus flujos de trabajo de análisis de datos? ¿Quieres dejar de perder tiempo en tareas repetitivas y enfocarte en obtener insights valiosos? Entonces, ¡estás en el lugar correcto! En esta guía completa para principiantes, aprenderás todo lo necesario para comenzar con Airflow, la herramienta de orquestación de workflows de datos más popular en la actualidad.

Introducción a Airflow

Airflow es una plataforma de código abierto para crear, programar y monitorear workflows de datos complejos. Fue creada por Airbnb en 2014 y desde entonces ha ganado una enorme popularidad en la comunidad de data engineering. Airflow te permite automatizar tareas y procesos en diferentes sistemas y tecnologías, como Hadoop, Spark, AWS, GCP, entre otros.

¿Por qué elegir Airflow?

Hay varias razones por las que Airflow es la herramienta de elección para muchas empresas y profesionales de data engineering:

Instalación y configuración de Airflow

Antes de comenzar a usar Airflow, necesitarás instalar y configurar la plataforma en tu entorno. A continuación, te presentamos los pasos básicos para hacerlo:

  1. Instala Airflow: Puedes instalar Airflow usando pip o conda, dependiendo de tu entorno y preferencias. Te recomendamos seguir la guía oficial de instalación para asegurarte de que todo está correctamente configurado.
  2. Configura Airflow: Después de instalar Airflow, necesitarás configurar la plataforma para que se adapte a tu entorno y necesidades. La configuración se realiza editando el archivo airflow.cfg, donde puedes especificar variables como el directorio de logs, la conexión a la base de datos, el servidor web, entre otros.
  3. Inicia Airflow: Una vez que has instalado y configurado Airflow, puedes iniciar la plataforma usando el comando airflow webserver --port 8080, donde puedes especificar el puerto en el que quieres que se ejecute el servidor web.

Creando tu primer workflow con Airflow

Ahora que has instalado y configurado Airflow, es hora de crear tu primer workflow. Un workflow es una secuencia de tareas que se ejecutan de manera automática y programada. En Airflow, puedes definir workflows usando DAGs (Directed Acyclic Graphs), que son representaciones gráficas de tus flujos de trabajo.

  1. Crea un DAG: Para crear un DAG, necesitas definir una clase en Python que herede de airflow.models.DAG. En esta clase, puedes especificar las tareas que forman parte de tu workflow y sus dependencias.

python from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import datetime

default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2023, 2, 1), 'email': ['your-email@example.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'retry_delay': datetime(2023, 2, 2), }

dag = DAG( 'tutorial', default_args=default_args, schedule_interval=timedelta(days=1), )

  1. Define tareas: Una vez que has creado el DAG, puedes definir las tareas que forman parte de tu workflow. En Airflow, una tarea se representa como un operador, que es una clase que hereda de airflow.operators.base_operator.BaseOperator. Los operadores te permiten ejecutar código, shell scripts, SQL queries, entre otras acciones.

python t1 = BashOperator( task_id='print_date', bash_command='date', dag=dag, )

t2 = BashOperator( task_id='sleep', bash_command='sleep 5', dag=dag, )

t3 = BashOperator( task_id='print_hello', bash_command='echo "Hello World"', dag=dag, )

  1. Especifica dependencias: Por último, puedes especificar las dependencias entre las tareas usando el atributo set_upstream. De esta manera, Airflow sabrá en qué orden ejecutar las tareas y cuáles son las condiciones para que se ejecuten.

pythont1 >> t2 >> t3

Monitorizando y depurando tus workflows

Una de las ventajas de usar Airflow es su capacidad para monitorizar y depurar tus workflows. Desde el servidor web de Airflow, puedes ver el estado de tus DAGs y tareas, así como su logs y métricas.

Estado de tareas y DAGs

En el servidor web de Airflow, puedes ver el estado de tus DAGs y tareas en tiempo real. El estado puede ser:

Además, puedes filtrar y ordenar tus DAGs y tareas por diferentes atributos, como el estado, la fecha de inicio o el operador.

Logs y métricas

Otra ventaja de usar Airflow es su capacidad para registrar logs y métricas de tus tareas. Desde el servidor web de Airflow, puedes ver los logs de tus tareas y DAGs, así como métricas como el tiempo de ejecución, la cantidad de errores, entre otros.

Los logs se registran en diferentes archivos, dependiendo del nivel de logging y la configuración de Airflow. Por defecto, Airflow registra los logs en el directorio logs/, donde puedes ver los archivos de logs de tus tareas y DAGs.

FAQ

  1. ¿Qué es Airflow? Airflow es una plataforma de código abierto para crear, programar y monitorear workflows de datos complejos.
  2. ¿Por qué elegir Airflow? Airflow es flexible, escalable, integrado y tiene una gran comunidad de usuarios y contribuidores.
  3. ¿Cómo instalar Airflow? Puedes instalar Airflow usando pip o conda, siguiendo la guía oficial de instalación.
  4. ¿Cómo crear un DAG? Para crear un DAG, necesitas definir una clase en Python que herede de airflow.models.DAG.
  5. ¿Cómo monitorizar y depurar tus workflows? Desde el servidor web de Airflow, puedes ver el estado de tus DAGs y tareas, así como su logs y métricas.

Referencias


Deja un comentario