Saltar al contenido principal
Formación DatIACode

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.
Sobre el curso

¿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.

Qué aprenderás

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

Objetivos del curso

  1. 01Comprender el modelo de ejecución de Spark: jobs, stages, tasks y el papel del shuffle.
  2. 02Diagnosticar cuellos de botella reales con Spark UI y los planes de ejecución.
  3. 03Aplicar estrategias de particionado y join que reducen el movimiento de datos.
  4. 04Configurar la memoria de ejecutores y driver para evitar spills y errores de OOM.
  5. 05Resolver problemas de skew y particiones desequilibradas con técnicas contrastadas.
  6. 06Optimizar un job real de principio a fin midiendo el impacto de cada cambio.
A quién va dirigido

¿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

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.
Metodología

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

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.

Beneficios para empresas

¿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.
Formación bonificada

¿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.

Requisitos previos

¿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.
Aplicaciones

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.
DatIACode

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.

Preguntas frecuentes

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.

Solicitar información

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.
Modalidad de interés*
Número aproximado de alumnos*

Información básica de protección de datos. Responsable: Datiacode Tech S.L.. Finalidad: atender tu solicitud y, si lo aceptas, enviarte comunicaciones comerciales. Legitimación: consentimiento del interesado y/o medidas precontractuales. Destinatarios: encargados de tratamiento descritos en la política. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad escribiendo a privacidad@datiacode.com. Más información en la Política de Privacidad.

  • Ver curso
    Big Data30 horas

    Apache Spark con Databricks — Procesamiento a gran escala

  • Ver curso
    Big Data20 horas

    Procesamiento en tiempo real con Kafka y Spark Streaming

  • Ver curso
    Big Data20 horas

    Data Lakes y Lakehouse: Delta Lake y Databricks

Ver todos los cursos