Solicitar información
 Duración 21 horas

Temario del curso

Módulo 1: Fundamentos de Big Data y Spark

  • Vista general del ecosistema de Big Data y el papel de Spark en las plataformas de datos modernas
  • Comprensión de la arquitectura de Spark: driver, executors, administrador del clúster, evaluación diferida, DAG y planificación de ejecución
  • Diferencias entre las APIs de RDD y DataFrame y cuándo utilizar cada enfoque
  • Creación y configuración de SparkSession y fundamentos de la configuración de la aplicación

Módulo 2: DataFrames de PySpark

  • Lectura y escritura de datos desde fuentes y formatos empresariales: CSV, JSON, Parquet y Delta
  • Trabajo con DataFrames de PySpark: transformaciones, acciones, expresiones de columnas, filtrado, uniones y agregaciones
  • Implementación de operaciones avanzadas como funciones de ventana, manejo de marcas de tiempo y trabajo con datos anidados
  • Aplicación de controles de calidad de datos y escritura de código PySpark reutilizable y mantenible

Módulo 3: Fundamentos de Kubernetes y Docker para usuarios de Spark

  • Comprensión de cómo las imágenes de Docker y los pods de Kubernetes se relacionan con los procesos de driver y executor de Spark: una vista conceptual para consumidores del clúster, no para administradores
  • Entender qué ocurre cuando una tarea de Spark se ejecuta en Kubernetes: programación de pods, solicitudes y límites de recursos, y cómo los ajustes de sesión se mapean en ellos
  • Comprender qué controlas mediante los parámetros de sesión de Spark frente a lo que el equipo de plataforma controla mediante la aprovisionamiento del clúster, y por qué este límite es importante para la sintonización
  • Ejercicio práctico: Inspeccionar una tarea de Spark-on-Kubernetes en ejecución en el clúster de arena y identificar los pods de driver y executor

Módulo 4: Configuración de Sesión de Spark en Kubernetes: Análisis detallado

  • Comprensión del recuento de executors frente al tamaño de los executors: compensaciones entre memoria y núcleos y cómo razonar sobre ellas
  • Asignación de memoria para driver y executors, sobrecarga de memoria y cómo estas se traducen en recursos de pod
  • Asignación dinámica: cómo se comporta en Kubernetes, cuándo ahorra recursos y cuándo no lo hace
  • Ejercicio práctico: Ejecutar la misma tarea con diferentes configuraciones de executors y núcleos y comparar el tiempo de ejecución y el uso de recursos

Módulo 5: Comportamiento de Escalado y Optimización de Costos

  • Comprensión de cómo agregar o eliminar nodos cambia el comportamiento de la tarea, el tiempo de finalización y el consumo de recursos
  • Comparación de muchos executors pequeños frente a algunos grandes: compensaciones entre rendimiento y costo
  • Comportamiento del shuffle y ajuste de particiones de shuffle, incluido el cálculo del impacto en el costo de las opciones de configuración
  • Ejercicio práctico: Escalar el clúster de arena de cinco a diez nodos y observar el efecto en el tiempo de finalización de la tarea y el consumo de recursos

Módulo 6: Ingesta de Datos Eficiente y Particionamiento

  • Comprensión del problema de los archivos pequeños: por qué las fuentes divididas en muchos archivos Parquet de 1–5 MB degradan el rendimiento y distorsionan el particionamiento
  • Estrategias de reparticionado y coalescencia
  • Control de los tamaños de partición en la lectura y en la escritura
  • Escritura eficiente de Parquet para evitar recrear el problema de archivos pequeños aguas abajo
  • Ejercicio práctico: Cargar un conjunto de datos compuesto por muchas particiones Parquet pequeñas, aplicar diferentes estrategias de reparticionado y comparar el rendimiento antes y después de la optimización

Módulo 7: Gestión de Memoria en Pandas y Diagnóstico de Fallos

  • Comprensión de las causas raíz de los errores de insuficiencia de memoria en Pandas y reconocimiento de los síntomas
  • Aplicación de patrones de conversión eficientes en memoria entre Spark y Pandas
  • Evitar explosiones de memoria al escribir grandes conjuntos de datos en CSV
  • Uso de procesamiento por lotes (chunking) y optimización de dtype para entornos restringidos
  • Ejercicio práctico: Reproducir un escenario típico de insuficiencia de memoria en Pandas y resolverlo utilizando chunking y optimización de dtype

Módulo 8: Polars como Herramienta Complementaria

  • Posicionamiento de Polars en relación con Pandas: características de rendimiento, evaluación diferida y comportamiento de la memoria
  • Comprensión de dónde encaja Polars junto a PySpark y Pandas en los stacks de datos cloud modernos y los mapas de ruta de migración, incluidos los entornos de AWS
  • Ejercicio práctico: Reescribir una transformación intensiva en Pandas en Polars y comparar el uso de memoria y la velocidad de procesamiento

Módulo 9: Aplicación de la Optimización a Cargas de Trabajo ETL y ML

  • Aplicación de principios de configuración, particionamiento y gestión de memoria en un pipeline ETL realista
  • Comprensión de las consideraciones de optimización específicas para cargas de trabajo de aprendizaje automático que se ejecutan en el mismo clúster
  • Aplicación de un flujo de trabajo práctico de sintonización para diagnosticar sistemáticamente problemas de costo y rendimiento
  • Ejercicio práctico: Completar un mini proyecto integral que combine carga de datos, transformación y un paso simple de entrenamiento de modelo, donde los participantes ajusten ellos mismos la configuración de Spark

Requerimientos

Se espera que los participantes tengan:

  • Experiencia práctica en programación en Python, incluyendo funciones, módulos y conceptos básicos de programación orientada a objetos.
  • Experiencia básica a intermedia en el manejo de Pandas y flujos de trabajo de procesamiento de datos tabulares.
  • Familiaridad básica con PySpark y Spark DataFrames, incluyendo lectura de datos, transformaciones, acciones, uniones y agregaciones.
  • Comprensión general de SQL y conceptos de procesamiento de datos, como filtrado, agrupación y unión de conjuntos de datos.
  • Familiaridad básica con conceptos de Docker y Kubernetes, como contenedores, imágenes y pods. No se requiere experiencia en la administración de Kubernetes.
  • Comprensión básica de formatos de datos comunes, como CSV, JSON y Parquet.

Los participantes no necesitan ser administradores de Kubernetes ni especialistas en infraestructura. El curso se centra en cómo los ingenieros de datos, desarrolladores y científicos de datos pueden comprender y optimizar sus cargas de trabajo de Spark en Kubernetes desde la perspectiva de la aplicación y la configuración.

Público Objetivo

Este curso está diseñado para profesionales que desarrollan, mantienen u optimizan cargas de trabajo de procesamiento de datos y aprendizaje automático utilizando Python y Spark en entornos cloud o de contenedores.

Es especialmente adecuado para:

  • Ingenieros de Datos que trabajan con PySpark, procesamiento distribuido de datos y pipelines ETL.
  • Científicos de Datos que procesan grandes conjuntos de datos o ejecutan cargas de trabajo de aprendizaje automático con Spark, Pandas o Polars.
  • Desarrolladores de Python que trabajan con aplicaciones intensivas en datos y buscan mejorar la eficiencia de la memoria y el rendimiento de procesamiento.
  • Ingenieros de Machine Learning que gestionan cargas de trabajo de preparación de datos y entrenamiento de modelos en entornos Kubernetes o cloud compartidos.
  • Ingenieros Analíticos que trabajan con grandes conjuntos de datos y buscan mejorar la eficiencia del procesamiento de datos.
  • Ingenieros de DevOps, Plataforma y Cloud que apoyan cargas de trabajo de Spark en Kubernetes y necesitan comprender cómo la configuración a nivel de aplicación afecta el uso de recursos y el rendimiento.
  • Líderes Técnicos y Arquitectos de Soluciones involucrados en el diseño u optimización de plataformas modernas de procesamiento de datos.

Formación Corporativa a Medida

Soluciones de formación diseñadas exclusivamente para empresas.

  • Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
  • Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
  • Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Inversión

Precio por grupo privado (formación online) desde 4350 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Reseñas (1)

Próximos cursos

Categorías Relacionadas