Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Apache Spark — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Apache Spark

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso orientado a profesionales con experiencia previa en Apache Spark que buscan consolidar su capacidad para diseñar y depurar pipelines de datos robustos en entornos reales. A lo largo de las ocho horas de formación, el participante profundizará en la API DataFrame de PySpark, aprenderá a integrar fuentes heterogéneas y a tomar decisiones fundamentadas sobre particionado y almacenamiento eficiente; igualmente, explorará los mecanismos de introspección del optimizador Catalyst y dará sus primeros pasos en el procesamiento de flujos con Structured Streaming, obteniendo al final la capacidad de construir, depurar y optimizar pipelines de transformación de datos listos para producción.

  1. Explicar las diferencias conceptuales entre RDDs y DataFrames, identificando los criterios de expresividad y rendimiento que determinan la elección de una abstracción frente a la otra.
  2. Distinguir los planes lógico y físico generados por el optimizador Catalyst e interpretar la información que expone la API de introspección para razonar sobre la eficiencia de una consulta.
  3. Construir pipelines de transformación en PySpark con al menos tres etapas encadenadas que aborden operaciones de limpieza, agregación y reconciliación de esquemas sobre fuentes CSV, JSON y Parquet.
  4. Adaptar consultas SQL a la DataFrame API, manteniendo la equivalencia de resultados y documentando las diferencias de sintaxis relevantes.
  5. Diseñar una estrategia de particionado y escritura en Parquet que preserve la estructura de los datos para su consumo posterior, justificando el criterio de partición elegido.
  6. Depurar pipelines PySpark con errores inducidos de tipo, nulos y lógica de agrupación, identificando la causa raíz de cada fallo y aplicando la corrección correspondiente.
  7. Integrar Spark Structured Streaming para procesar un flujo de datos simulado aplicando transformaciones y agregaciones con ventana temporal, evaluando el comportamiento del pipeline en escenarios de datos continuos.

Bloque 1 — RDDs, DataFrames y el optimizador Catalyst. Se revisa la evolución del modelo de programación en Spark, desde la API de bajo nivel de los RDDs hasta la abstracción de alto nivel que ofrecen los DataFrames, comparando ambas opciones con criterios de expresividad y rendimiento sobre un mismo problema de procesamiento. A continuación se introduce el optimizador Catalyst: el participante aprenderá a leer e interpretar los planes lógico y físico que genera el motor mediante .explain(), identificando qué versión de una consulta resulta más eficiente y por qué.

Bloque 2 — Integración de fuentes heterogéneas y transformación de datos. Este bloque aborda la ingesta unificada de ficheros CSV, JSON y Parquet en un único DataFrame, prestando especial atención a la resolución de conflictos de esquema y tipos. Sobre ese contexto de datos integrados se diseñan pipelines con múltiples etapas encadenadas de limpieza y agregación, y se trabaja la equivalencia entre consultas SQL y la DataFrame API, justificando en cada caso las diferencias de sintaxis y el comportamiento del plan de ejecución resultante.

Bloque 3 — Particionado, escritura eficiente y depuración de pipelines. Se estudian los criterios que guían una buena estrategia de particionado en Parquet: cardinalidad de la columna de partición, tamaño esperado de los ficheros y patrones de lectura posterior. El participante diseñará y ejecutará la escritura particionada y, acto seguido, afrontará la depuración de un pipeline con errores inducidos —fallos de tipo, valores nulos inesperados y lógica de agrupación incorrecta—, documentando la causa de cada fallo y la corrección aplicada.

Bloque 4 — Introducción a Spark Structured Streaming. El curso cierra con una introducción práctica al procesamiento de flujos mediante Structured Streaming. Partiendo de un flujo de datos simulado, el participante configurará una consulta continua que incluya al menos una transformación y una agregación con ventana temporal, evaluando cómo el motor gestiona el estado y la llegada tardía de eventos, y reflexionando sobre las implicaciones de pasar de un pipeline batch a uno de streaming.

  • Python 3.9 o superior instalado en el entorno local o acceso a un entorno cloud con kernel Python (Google Colab, Databricks Community Edition, etc.).
  • Apache Spark 3.4 o superior con PySpark; se recomienda instalación mediante pip install pyspark o acceso a un clúster preconfigurado.
  • JDK 11 (requerido por Spark cuando se ejecuta en local).
  • Jupyter Notebook o JupyterLab para la ejecución interactiva de los ejercicios.
  • Acceso de lectura/escritura a un sistema de ficheros local o a un almacenamiento compatible (HDFS, S3, ADLS) para los ejercicios de lectura y escritura en Parquet.
  • Mínimo 8 GB de RAM disponibles para ejecutar Spark en modo local sin degradación notable del rendimiento.
  • Manejo básico de PySpark: creación de SparkSession, lectura de ficheros y operaciones elementales sobre DataFrames (select, filter, groupBy).
  • Comprensión del modelo de ejecución distribuido de Spark: concepto de partición, transformaciones perezosas y acciones.
  • Familiaridad con Python a nivel intermedio: funciones, comprensiones de listas y manejo de excepciones.
  • Conocimientos fundamentales de SQL: SELECT, WHERE, GROUP BY, JOIN y funciones de agregación.