Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

PySpark — Iniciación

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

Skills que aprenderás

  • PySpark

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

Este curso está dirigido a profesionales y analistas de datos que se adentran por primera vez en el procesamiento distribuido con PySpark y que cuentan con experiencia básica en Python y manipulación tabular de datos. A lo largo de las ocho horas del curso, el participante comprenderá cómo funciona el motor de ejecución de Apache Spark, aprenderá a configurar una sesión local, cargará datos desde distintas fuentes y aplicará las transformaciones y acciones fundamentales de la API DataFrame, para finalmente persistir los resultados en formatos estándar de la industria. Al terminar, el participante será capaz de construir de forma autónoma un flujo básico de carga, transformación y escritura de datos en PySpark dentro de un entorno notebook, con criterio suficiente para interpretar los errores más habituales y corregirlos.

  1. Describir el modelo de ejecución distribuida de Spark —driver, executors y particiones— y diferenciarlo del procesamiento local con pandas.
  2. Identificar la distinción entre transformaciones lazy y acciones eager, clasificando correctamente operaciones representativas de la API PySpark.
  3. Ejecutar la inicialización de una SparkSession local en un notebook y verificar su estado, explicando el propósito de cada parámetro configurado.
  4. Aplicar las operaciones de creación e ingesta de DataFrames para cargar múltiples fuentes de datos e inspeccionar su esquema.
  5. Aplicar transformaciones básicas sobre un DataFrame para responder preguntas de negocio concretas, encadenando operaciones de selección, filtrado y enriquecimiento de columnas.
  6. Describir el propósito y el comportamiento de las principales acciones de materialización, evaluando los riesgos de su uso según el volumen de datos.
  7. Ejecutar un flujo completo de lectura y escritura en formatos CSV y Parquet, utilizando las opciones de configuración básicas de lectura y escritura.
  8. Identificar y clasificar los mensajes de error más comunes de PySpark a partir de trazas reales, determinando la causa probable y la corrección aplicable.

Bloque 1 — Fundamentos del procesamiento distribuido con Spark. Se introduce la arquitectura de Apache Spark: el rol del driver, los executors y el concepto de partición como unidad de paralelismo. Se contrasta este modelo con el procesamiento local de pandas, destacando las implicaciones para el diseño de pipelines de datos. A continuación se estudia el ciclo de vida de una operación Spark: se define con precisión qué son las transformaciones lazy —aquellas que construyen el plan de ejecución sin materializarlo— y qué son las acciones eager —las que desencadenan el cómputo efectivo—, clasificando operaciones habituales como filter, select, withColumn, count y show.

Bloque 2 — Configuración del entorno y creación de DataFrames. Se guía al participante en la inicialización de una SparkSession local dentro de un notebook, verificando que la sesión queda operativa y describiendo cada parámetro de configuración utilizado. Sobre esa sesión activa se practican las distintas vías de creación e ingesta de DataFrames: a partir de colecciones Python con createDataFrame, y desde ficheros externos con spark.read.csv y spark.read.json. En ambos casos se inspeccionan los esquemas inferidos mediante printSchema().

Bloque 3 — Transformaciones, acciones y persistencia de datos. Se aplican las transformaciones más frecuentes —select, filter, withColumn y drop— sobre un conjunto de datos guiado orientado a casos de negocio reales, como filtrar registros por importe o calcular columnas derivadas. Se analizan después las acciones de materialización show(), count() y collect(), explicando en qué escenarios collect() puede saturar la memoria del driver y cómo evitarlo. El bloque concluye con un flujo completo de carga-transformación-guardado: el participante lee datos en CSV, aplica transformaciones y escribe los resultados en formato Parquet, manejando las opciones básicas de spark.read y df.write.

Bloque 4 — Diagnóstico y resolución de errores habituales. Se presentan trazas de error reales de PySpark —AnalysisException, IllegalArgumentException, referencias a columnas inexistentes— y el participante aprende a leerlas sistemáticamente para identificar la causa raíz y aplicar la corrección adecuada. Este bloque integra los conocimientos anteriores al exigir razonar sobre el esquema, las transformaciones aplicadas y el plan de ejecución para localizar el origen del fallo.

  • Python 3.9 o superior instalado en el equipo local, o acceso a un entorno cloud con Python preconfigurado (Google Colab, Databricks Community Edition, etc.).
  • PySpark 3.4 o superior (pip install pyspark); en entornos locales se requiere Java 11 o superior en el PATH.
  • Jupyter Lab o Jupyter Notebook para ejecutar los notebooks del curso; alternativamente, un entorno Databricks con clúster de un solo nodo.
  • Acceso de lectura/escritura al sistema de ficheros local o a un almacenamiento compatible (DBFS, Google Drive montado) para los ejercicios de lectura y escritura de CSV y Parquet.
  • Conexión a internet para la descarga de dependencias y los conjuntos de datos de práctica proporcionados con el curso.
  • Programación en Python a nivel básico: sintaxis, funciones, estructuras de datos (listas, diccionarios) y manejo de librerías mediante import.
  • Familiaridad con la manipulación tabular de datos: nociones de fila, columna, filtrado y agrupación, preferiblemente con pandas o una herramienta equivalente.
  • Manejo básico de un entorno notebook (Jupyter, JupyterLab o equivalente): ejecución de celdas y lectura de salidas de error.