Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a ingenieros de datos y científicos de datos con experiencia previa en PySpark que necesitan dar el salto hacia el diseño y operación de pipelines distribuidos a escala de producción. A lo largo de ocho horas, los participantes profundizarán en la arquitectura de soluciones ETL multicapa, aprenderán a leer e intervenir el plan físico generado por Catalyst para eliminar cuellos de botella, y dominarán las estrategias de particionado y resolución de data skew que marcan la diferencia entre un job funcional y uno verdaderamente eficiente. Además, explorarán la persistencia transaccional con formatos de tabla modernos como Delta Lake o Iceberg y abordarán la automatización de pipelines batch mediante orquestadores, finalizando con la capacidad de diseñar e implementar un pipeline de extremo a extremo listo para entornos reales de alta demanda.
Arquitectura de pipelines ETL distribuidos. El curso arranca estableciendo los fundamentos de diseño de un pipeline ETL en PySpark orientado a producción: separación explícita de las capas de ingesta, transformación y escritura, criterios para tomar decisiones de diseño ante requisitos de volumen y frecuencia, y principios de modularidad que facilitan el mantenimiento y la evolución del sistema.
Optimización del plan de ejecución y gestión de recursos. A continuación se estudia en profundidad el optimizador Catalyst: cómo leer e interpretar el Physical Plan, cómo identificar shuffles innecesarios o predicados que no se empujan hacia la fuente, y cómo introducir mejoras con impacto medible. Este bloque se complementa con la sintonización de recursos a nivel de executor —memoria, número de cores y particiones de shuffle— a partir del diagnóstico de métricas reales de un clúster con restricciones definidas.
Particionado y data skew. Se abordan las estrategias de particionado de DataFrames: cuándo usar repartition frente a coalesce, y cuándo conviene un particionado por hash frente a uno por rango, en función del patrón de acceso y el tamaño de los datos. Sobre esa base se analizan los problemas de data skew en agregaciones y joins, y se practican las técnicas de mitigación más efectivas: salting, Adaptive Query Execution (AQE) y broadcast join, con justificación razonada de la elección en cada escenario.
Persistencia transaccional con formatos de tabla modernos. El bloque de persistencia introduce los formatos Delta Lake, Iceberg y Hudi como capa de almacenamiento para pipelines PySpark. Los participantes implementarán al menos dos capacidades avanzadas —time travel, evolución de esquema, operaciones MERGE/upsert— y evaluarán cuándo y por qué cada formato resulta más adecuado.
Procesamiento en tiempo real: batch vs. Structured Streaming. Se analiza el trade-off entre el procesamiento batch tradicional y el micro-batch con Structured Streaming, con criterios objetivos para seleccionar la modalidad correcta. La práctica incluye la implementación de un caso de uso con manejo de estado o ventanas temporales, consolidando la comprensión de las garantías de exactly-once y la gestión de checkpoints.
Automatización y orquestación de pipelines. El curso cierra con la automatización de pipelines batch mediante un orquestador (Apache Airflow, Databricks Workflows o equivalente), cubriendo la definición de dependencias entre tareas, las políticas de reintentos y el sistema de alertas ante fallos, de modo que los participantes puedan trasladar directamente lo aprendido a un entorno de integración continua de datos.
local[4].pip install delta-spark).Se requiere haber completado el curso PPS02 (PySpark — Intermedio) o disponer de experiencia equivalente demostrable con DataFrames, operaciones de transformación y lectura/escritura en PySpark. Los participantes deben sentirse cómodos con Python a nivel intermedio-avanzado, tener nociones básicas de sistemas distribuidos (qué es un driver, un executor, cómo se distribuyen las particiones) y haber trabajado previamente con algún formato de almacenamiento columnar como Parquet o ORC. Es también recomendable familiaridad con entornos de clúster gestionado (Databricks, EMR, Dataproc o similar).