Volver al curso

Data Engineering con Python: Pipelines y Big Data

leccion
6 / 12
advanced
32 horas
ETL/ELT: Diseno y Construccion de Pipelines

Apache Airflow: Orquestacion de Pipelines de Datos

Lectura
50 min~2 min lectura

Apache Airflow: El Director de Orquesta de tus Pipelines

Apache Airflow es la herramienta de orquestacion mas utilizada en datos. Creada por Airbnb, permite definir, programar y monitorear pipelines complejos como codigo Python. En LATAM, Mercado Libre, iFood y Nubank usan Airflow para miles de pipelines diarios.

Conceptos Fundamentales

  • DAG: Workflow como grafo de tareas con dependencias (sin ciclos).
  • Task: Unidad de trabajo individual.
  • Operator: Clase que define que hace una task (PythonOperator, BashOperator, etc.).
  • Sensor: Task que espera una condicion.
  • XCom: Paso de datos entre tasks (solo metadatos pequenos).
from airflow import DAG
from airflow.operators.python import PythonOperator
from airflow.operators.bash import BashOperator
from datetime import datetime, timedelta

default_args = {
    'owner': 'data-team',
    'retries': 3,
    'retry_delay': timedelta(minutes=5),
}

with DAG('pipeline_ventas_latam',
    default_args=default_args,
    schedule_interval='0 6 * * *',
    start_date=datetime(2025, 1, 1),
    catchup=False,
    tags=['ventas', 'latam'],
) as dag:

    def extract_payments(**ctx):
        execution_date = ctx['ds']
        # logica de extraccion
        return {'records': 15420}

    extract = PythonOperator(
        task_id='extract_payments',
        python_callable=extract_payments)

    transform = BashOperator(
        task_id='run_dbt',
        bash_command='cd /opt/dbt && dbt build --select tag:ventas')

    extract >> transform
PracticaDescripcion
IdempotenciaCada task produce el mismo resultado si se ejecuta multiples veces
AtomicidadSi falla, no deja datos corruptos
No XCom para datos grandesXCom es para metadatos. Datos grandes van a S3/GCS
TemplatingUsa {{ ds }} para fechas dinamicas
MonitoringAlertas por email/Slack para fallos

🚀 Alternativas a Airflow

Prefect: Mas Pythonic, mejor UX. Dagster: Asset-oriented, excelente para dbt. Mage: UI drag-and-drop. Airflow sigue siendo el estandar por su comunidad.

Infraestructura cloud

Con Airflow orquestando, tienes un sistema de datos profesional.