Despliegue de Apache Airflow en GCP
Clase 50 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
Optimiza la orquestación de datos en la nube con un entorno administrado: crea un cluster de Apache Airflow en Google Cloud Composer, configura versiones y parámetros críticos, sube tus DAGs y controla dependencias, paralelismo y monitoreo centralizado. Conecta tareas con servicios como AWS CloudWatch, S3, Glue, Athena, Redshift y EMR usando Boto3, y opera todo desde la web UI y StackDriver para escalar proyectos de big data con confianza.
¿Cómo desplegar Cloud Composer en Google Cloud Platform?
Configurar un servicio administrado reduce fricción operativa y acelera la puesta en marcha. Aquí se recorre la creación del cluster, las opciones más relevantes y el acceso a componentes clave para trabajar con Apache Airflow en Google Cloud Platform.
- Crear proyecto en Google Cloud Platform y abrir Google Cloud Composer.
- Crear el cluster: nombre "Platzi Airflow". Mínimo de nodos: tres.
- Región: use central 1. Sin preferencia de zona.
- Ajustes opcionales: machine type, tamaño de disco, autorización, networking y subredes.
- Imagen de Apache Airflow: 1.9, 1.10 o 1.10.1. Grandes cambios de 1.9 a 1.10.1, incluida integración nativa con el ecosistema de big data. Se percibe 1.10.1 como más estable en el momento descrito.
- Versión de Python: 2 o 3.
- Configuraciones avanzadas: sobrescribir en archivo airflow.cfg del servidor principal.
- Variables de entorno: evitar “quemar” data sensible en archivos de configuración.
- Agregar labels y, más adelante, paquetes adicionales según necesidad.
Al crear el cluster, lo esencial está a mano: DAGs Folder (carpeta donde se suben los DAGs), acceso a la web UI de Airflow, y StackDriver para revisar logs. También es posible ajustar configuraciones y variables de entorno cuando sea necesario.
¿Cómo cargar DAGs y configurar tareas en Apache Airflow?
El flujo inicia vacío en la web UI. Luego, se sube el archivo de ejemplo al DAGs Folder en un bucket de Cloud Storage para habilitar la visualización y ejecución.
- En la web UI: inicialmente no hay DAGs.
- En DAGs Folder: abrir el bucket y la carpeta dags. Cargar el archivo de ejemplo.
- El archivo incluye librerías requeridas: Airflow DAGs, manejo de tiempos y operators.
- Estructura típica de un DAG: DAG ID, nombre principal, descripción, intervalos de ejecución y schedule, concurrencia y reintentos.
- Concepto de operator: ejecuta una tarea específica, aislada de otras. Se usa Python operator.
- Definir Python callable: se ilustra con un "Hello World"; en producción, puede llamar un script que, vía Boto3, se conecte a AWS para extraer logs de CloudWatch y llevarlos a S3, o ejecutar procesos de crawling, export o ETL.
¿Qué es un operator en Airflow?
Un operator encapsula una acción atómica dentro del flujo. Facilita reutilización, pruebas y claridad.
- Cada operator resuelve una tarea concreta.
- Python operator permite invocar funciones Python con parámetros.
- Aísla responsabilidades y simplifica dependencias.
¿Cómo se modelan dependencias y paralelismo en un DAG?
La definición del DAG establece precedencias y paralelismo para optimizar tiempos.
- Una tarea inicial (por ejemplo, extract de CloudWatch) puede desencadenar múltiples tareas en paralelo.
- Se reflejan transformaciones, visualización y cargas hacia Glue, Athena, Redshift y EMR.
- La estructura deja claro el orden, los puntos de sincronización y el grado de paralelismo.
¿Cómo operar, monitorear y programar los DAGs en la web UI?
Tras cargar el archivo, se refresca la lista de DAGs y aparece el nombre definido. La web UI ofrece vistas y métricas para ejecutar, auditar y mejorar la confiabilidad.
- Visualizaciones: vista de árbol, vista gráfica de precedencias y gráfica GANT para duración por tarea.
- Métricas: duración, intentos, y gráficas de tiempo de ejecución.
- Acciones: trigger del DAG y navegación por tareas para ver logs en StackDriver.
- Programación: ejecutar todos los días a una hora específica; levantar un job cuando termine otro o tras una hora de espera.
- Beneficio clave: orquestación y automatización de cargas heterogéneas, incluso con diferentes cloud provider, para proyectos de big data.
¿Quieres profundizar en una integración o en el diseño de tus dependencias? Cuéntame tu caso y comenta qué flujo necesitas orquestar.