Apache Airflow vs Step Functions para ETL
Clase 49 de 52 • Curso de Big Data en AWS
Contenido del curso
Arquitecturas
Extracción de información
- 9

Cómo mover datos a cloud con SDK y CLI
02:21 min - 10

Python y boto3 para listar buckets S3
10:16 min - 11

Boto3: inicializar clients de AWS en Python
03:56 min - 12

API Gateway como puerta de big data
03:40 min - 13

Storage Gateway: puerta entre on-premise y S3
03:13 min - 14

AWS Kinesis: streaming masivo de datos
05:53 min - 15

Cómo crear Kinesis Data Stream en AWS
06:50 min - 16

Despliegue automatizado de Kinesis con CloudFormation
10:42 min - 17

Cómo Kinesis Firehose entrega datos en tiempo real
03:27 min - 18

Configuración de Kinesis Firehose en AWS
05:45 min - 19
Configuración Básica de Amazon Kinesis Firehose en AWS
02:53 min - 20

MSK vs Kinesis: cuál elegir en AWS
03:42 min - 21

Creación de clúster AWS MSK desde la consola
07:21 min
Transformación de Información
- 22

Cómo AWS Glue transforma datos en la nube
06:33 min - 23

Instalación de Apache Zeppelin paso a paso
04:49 min - 24

Configurar developer endpoint de AWS Glue con Zeppelin
05:38 min - 25

Conexión de Apache Zeppelin con AWS
08:29 min - 26

Configurar AWS Glue Crawler para poblar catálogo
08:15 min - 27

Configuración de Developer Endpoint en AWS Glue
08:00 min - 28

Cómo configurar AWS Glue ETL desde S3 a Parquet
10:23 min - 29

Qué es EMR y cuándo usarlo
05:30 min - 30

Crear tu primer cluster de AWS EMR
09:01 min - 31

Conectar Apache Zeppelin a EMR
03:18 min - 32

EMR automatizado con CloudFormation
06:32 min - 33

AWS Lambda para proyectos de big data
07:02 min - 34

Lambdas en big data: real time y batch
04:54 min - 35

Configuración de AWS Lambda para Big Data
07:16 min
Carga de Información
Consumo de información
Seguridad, Orquestación y Automatización
Clase pública
La orquestación y automatización de flujos de trabajo de big data exige flexibilidad real. Aunque AWS sugiere usar Step Functions para ETL, su alcance se limita a iniciar un job de Glue. Por eso, Apache Airflow se posiciona como la opción más completa para crear, monitorear y orquestar pipelines complejos con dependencias, paralelismo y sensores configurables, todo en Python.
¿Por qué elegir Apache Airflow para orquestar ETL y big data?
Apache Airflow permite definir el flujo de punta a punta: extracción, transformaciones múltiples y entrega a otros sistemas. La ventaja clave es su flexibilidad para describir tareas, programarlas y conectarlas con el ecosistema de datos.
- AWS vs Airflow: Step Functions inicia Glue, pero no cubre la orquestación completa deseada para ETL complejas.
- Airflow en Python: los pipelines se configuran con Python, favoreciendo reutilización y control total.
- Automatización integral: creación, monitoreo y orquestación en un mismo lugar.
¿Qué integra con Python, bases de datos y notificaciones?
Airflow ofrece una amplia variedad de operators y utilidades para encadenar sistemas y eventos.
- Soporte de scripts: bash y Python para tareas personalizadas.
- Alertas y seguimiento: integración con emails para notificaciones.
- Conectores clave: bases de datos como Postgres SQL, brokers como Redis y uso de colas.
- Construcción de ecosistemas: unir múltiples servicios para un pipeline de big data robusto.
¿Cómo funciona un DAG y qué papel cumplen los operators?
El núcleo de Airflow es el DAG (Directed Acyclic Graph): una colección de tareas con dependencias explícitas. Permite definir qué se ejecuta primero, qué va después y qué puede correr en paralelo para acelerar agregaciones o procesos independientes.
- DAG: representa el grafo donde viven las tareas y sus relaciones.
- Dependencias: definen precedencias y caminos paralelos según la lógica del proceso.
- Sensores y programación: ejecución por horario o por condiciones parametrizables.
¿Cómo se definen dependencias y sensores en Airflow?
Las tareas se conectan con reglas claras y pueden dispararse por horarios o eventos.
- Secuencias: una tarea antecede a otra cuando su salida es necesaria.
- Paralelismo: varias tareas pueden ejecutarse al mismo tiempo si no dependen entre sí.
- Sensores: activación basada en tiempo o en parámetros configurables.
¿Qué es un operator y por qué es importante?
Un operator describe una tarea que corre de forma independiente.
- Tipología: existen diferentes operators según la tarea a ejecutar.
- Encapsulación: cada operator define qué hace, cómo lo hace y con qué recursos.
- Reutilización: facilita componer pipelines complejos manteniendo el código ordenado.
¿Dónde implementar Airflow en AWS o Google Cloud Platform?
Siendo open source, Airflow se puede desplegar de varias formas y entornos, con o sin administración del proveedor.
- Contenedores en AWS: construir un docker file y ejecutarlo en un servicio de contenedores.
- Instancia dedicada: instalarlo en una instancia S2.
- Servicio administrado: usar Google Cloud Platform con un Apache Airflow completamente administrado.
¿Qué opción conviene para orquestación de big data?
La experiencia compartida destaca que el servicio administrado de Google Cloud Platform es de los mejores para orquestar ETL y proyectos de big data. En AWS también se puede operar manualmente y orquestar trabajos, pero la gestión administrada en GCP ofrece una experiencia sólida y conveniente.
¿Tú cómo estás orquestando tus ETL y flujos de big data con Airflow? Comparte tu enfoque y retos en los comentarios.