Apache Spark avanzado: optimización y rendimiento
Lleva tus jobs de Spark al siguiente nivel: particionado y shuffles con criterio, Catalyst y AQE, gestión de memoria, tratamiento del skew y diagnóstico sistemático con Spark UI para reducir tiempos y costes de cluster.
- Nivel
- Avanzado
- Duración
- 20 horas
- Modalidades
- Online en directo · In-company · A medida
- Dirigido a
- Ingenieros de datos con experiencia en Spark que necesitan optimizar jobs lentos o caros.

¿Qué es este curso y por qué te interesa?
Escribir un job de Spark que funciona es relativamente fácil; escribir uno que escala bien y no dispara la factura del cluster es otra historia. La diferencia entre ambos suele estar en lo que no se ve en el código: cómo se particionan los datos, cuántos shuffles provoca cada transformación, cómo se reparte la memoria entre ejecución y caché y qué hace el optimizador con el plan de la consulta.
Este curso entra de lleno en esa capa. Se estudia cómo Spark planifica y ejecuta el trabajo —Catalyst, los planes físicos, Adaptive Query Execution— y cómo intervenir cuando la decisión automática no es la buena: estrategias de join, broadcast, reparticionado, tratamiento del skew y configuración de memoria y paralelismo. Cada técnica se justifica midiendo, no por superstición de configuración.
El hilo conductor es el diagnóstico: leer la Spark UI con soltura, identificar el stage que duele, entender por qué duele y aplicar la corrección adecuada. Se trabaja sobre jobs reales con problemas típicos de producción —shuffles desproporcionados, particiones desequilibradas, spills a disco, OOM— hasta interiorizar un método de optimización repetible que reduce tiempos y coste de infraestructura.
Capacidades que adquirirás
- Leer y diagnosticar jobs con Spark UI: stages, tasks, shuffles, spills y métricas de ejecución.
- Controlar el particionado y minimizar shuffles: repartition, coalesce y particionado por clave.
- Entender Catalyst y AQE: cómo optimiza Spark y cuándo intervenir en el plan.
- Tratar el data skew con salting, broadcast joins y las optimizaciones automáticas de AQE.
- Dimensionar y configurar clusters: memoria, ejecutores, paralelismo y formatos de almacenamiento.
Objetivos del curso
- 01Comprender el modelo de ejecución de Spark: jobs, stages, tasks y el papel del shuffle.
- 02Diagnosticar cuellos de botella reales con Spark UI y los planes de ejecución.
- 03Aplicar estrategias de particionado y join que reducen el movimiento de datos.
- 04Configurar la memoria de ejecutores y driver para evitar spills y errores de OOM.
- 05Resolver problemas de skew y particiones desequilibradas con técnicas contrastadas.
- 06Optimizar un job real de principio a fin midiendo el impacto de cada cambio.
¿Es este curso para ti o para tu equipo?
Ingenieros de datos con experiencia en Spark que necesitan optimizar jobs lentos o caros.
Ingenieros de datos con Spark en producción
Profesionales que mantienen pipelines de Spark y se enfrentan a jobs lentos, inestables o con costes de cluster crecientes.
Desarrolladores de plataformas de datos
Perfiles que dan soporte a equipos que usan Spark y necesitan criterio para configurar clusters y revisar jobs ajenos.
Científicos de datos con cargas pesadas
Perfiles analíticos cuyos procesos de preparación de datos en Spark tardan horas y quieren entender por qué y cómo acelerarlos.
Temario completo
Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.
- Del DataFrame al plan físico: jobs, stages y tasks.
- El shuffle: qué operaciones lo provocan y qué cuesta de verdad.
- Narrow y wide transformations: leer el DAG con criterio.
- Lazy evaluation y acciones: cuándo se ejecuta realmente el trabajo.
Cómo se imparte
Práctica desde la primera sesión
Cada bloque combina explicación, demostración y laboratorio. Los alumnos trabajan sobre casos reales aplicables a su contexto profesional.
Casos de cliente
En programas in-company partimos de los procesos y datos del cliente. La formación deja de sonar genérica y empieza a resolver problemas concretos.
Materiales de apoyo
Los participantes reciben código, plantillas y guías reutilizables tras la formación. Lo que se aprende se mantiene en el día a día.
Adaptación al nivel del equipo
Antes de impartir, hacemos un breve diagnóstico y ajustamos profundidad y ritmo. La formación no se queda corta ni avanza por encima del grupo.
Modalidades disponibles
Cada formato puede adaptarse al ritmo y al contexto operativo de la organización.
Online en directo
Sesiones en streaming con interacción en vivo, ejercicios guiados y resolución de dudas.
In-company
Programa diseñado a medida y impartido para un único equipo o organización.
A medida
Itinerario completamente personalizado: temario, duración, formato y casos del cliente.
¿Por qué contratar este programa para tu equipo?
La formación no se diseña contra un examen, se diseña contra un objetivo de negocio.
- Mejora de productividad real en el puesto de trabajo.
- Actualización de competencias clave para el negocio.
- Mayor autonomía técnica y reducción de dependencia externa.
- Aplicación práctica inmediata sobre procesos del cliente.
- Mejor adopción tecnológica con criterios profesionales.
- Preparación para proyectos de IA, datos, automatización o desarrollo.
¿Se puede gestionar como formación bonificada?
Este curso puede plantearse como formación para empresas y, según las condiciones de cada organización, podría gestionarse dentro de iniciativas de formación bonificada. En DatIACode te ayudamos a estructurar la propuesta formativa y la documentación necesaria para su valoración.
¿Qué necesitas saber antes de empezar?
- Experiencia previa desarrollando con Spark: DataFrames, joins y agregaciones.
- Conocimientos de Python o Scala a nivel de desarrollo de pipelines.
- Familiaridad con conceptos de computación distribuida recomendada.
Cómo se aplica lo aprendido
- Reducción de tiempos de ejecución de pipelines batch críticos.
- Recorte del coste de clusters en Databricks, EMR u on-premise.
- Diagnóstico sistemático de jobs que fallan por memoria o se eternizan.
- Tratamiento de skew en joins y agregaciones sobre datos reales desequilibrados.
- Definición de estándares de configuración de Spark para el equipo.
- Revisión de rendimiento de código Spark heredado antes de escalarlo.
Por qué elegir DatIACode
No vendemos formación: diseñamos programas que se traducen en capacidad operativa real.
Experiencia aplicada
Más de 20 años combinando consultoría, desarrollo y formación tecnológica para empresas de distintos sectores.
Visión de negocio
Cada programa parte de los objetivos del cliente. La técnica está al servicio del problema, no al revés.
Adaptación al equipo
Ajustamos profundidad, ritmo y casos de uso al nivel real del equipo tras un breve diagnóstico inicial.
Formación + consultoría
Si la formación destapa un proyecto, podemos acompañarte en su implantación. No abandonamos el resultado.
Especialización en IA
Trabajamos en IA aplicada todos los días. La formación no la imparte alguien que solo enseña, la imparte alguien que también construye.
Orientación a resultados
Entregables tangibles y métricas pactadas. Sin promesas vacías.
FAQ
Debes haber desarrollado jobs reales con DataFrames: lecturas, joins, agregaciones y escrituras. El curso no repasa la API básica; arranca directamente en el modelo de ejecución y la optimización. Si estás empezando con Spark, el curso de Apache Spark y Databricks es el paso previo recomendado.
Cuéntanos qué necesitas
Te respondemos en menos de 24h laborables con disponibilidad, opciones de modalidad y propuesta a medida si aplica.
- Diagnóstico inicial sin compromiso.
- Propuesta adaptada al nivel y al sector.
- Asesoramiento sobre formación bonificada.
Cursos relacionados
Ver todos los cursos- Ver curso
Big Data30 horasApache Spark con Databricks — Procesamiento a gran escala
- Ver curso
Big Data20 horasProcesamiento en tiempo real con Kafka y Spark Streaming
- Ver curso
Big Data20 horasData Lakes y Lakehouse: Delta Lake y Databricks
