Saltar al contenido
Logotipo de Trainontech Trainontech

Big Data e Ingeniería de Datos · BIG-110

Apache Spark con PySpark

Procesar datos distribuidos con DataFrames de PySpark y entender qué ocurre en cada etapa.

Bajo demanda Avanzado 7 módulos · 30 clases

Formato asíncrono Desarrollo, Ingeniería / Industria Spark, Python, JupyterLab

Lo que aprenderás

  • Escribir transformaciones con la API de DataFrames y provocar la ejecución con acciones.
  • Explicar la evaluación perezosa y localizar las fronteras de etapa que generan barajado de datos.
  • Leer y escribir Parquet, CSV y JSON controlando el esquema y el número de particiones.
  • Aplicar uniones, agregaciones y funciones de ventana sobre conjuntos que no caben en una máquina.
  • Registrar funciones definidas por el usuario y valorar su coste frente a las funciones nativas.
  • Lanzar un trabajo con spark-submit e interpretar la interfaz web de seguimiento.

Contenido del curso

7 módulos · 30 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Spark y el entorno de trabajo 4 clases
  • Arquitectura: controlador, ejecutores y gestor de recursos
  • Sesión de Spark desde JupyterLab
  • Primer DataFrame y primera acción
  • RDD, DataFrame y Dataset: qué usar hoy
Módulo 2 · Transformaciones y acciones 5 clases
  • Evaluación perezosa y grafo de ejecución
  • Selección, filtrado y columnas derivadas
  • Transformaciones estrechas y anchas
  • Etapas, tareas y barajado de datos
  • Leer el plan con explain
Módulo 3 · Lectura y escritura 4 clases
  • Parquet, CSV y JSON en Spark
  • Inferencia de esquema frente a esquema explícito
  • Particionado en escritura y tamaño de fichero
  • Datos corruptos y modos de lectura
Módulo 4 · Trabajo con datos 5 clases
  • Agregaciones y agrupaciones
  • Uniones y estrategias de unión
  • Funciones de ventana
  • Fechas, cadenas y tipos complejos
  • Funciones definidas por el usuario y su coste
Módulo 5 · Spark SQL 4 clases
  • Vistas temporales y consultas SQL
  • Catálogo y tablas gestionadas
  • Mezclar SQL y DataFrames en el mismo proceso
  • Comparar el plan de ambas rutas
Módulo 6 · Ejecución y seguimiento 4 clases
  • De cuaderno a script con spark-submit
  • Memoria, ejecutores y paralelismo
  • La interfaz web de Spark paso a paso
  • Errores frecuentes y cómo leerlos
Módulo 7 · Caso práctico 4 clases
  • Proceso de consolidación de registros de varios orígenes
  • Limpieza, unión y enriquecimiento
  • Escritura en Parquet particionado
  • Revisión del rendimiento del trabajo

Requisitos

  • Programación en Python y manejo de Pandas.
  • SQL de nivel medio y experiencia previa con datos tabulares.
  • Nociones de línea de comandos; las prácticas se ejecutan en JupyterLab con Spark.

Descripción

Llega el momento en que el proceso nocturno tarda tanto que ya no cabe en la noche, o en que el fichero de entrada no entra en memoria y el script en Pandas muere sin explicación. Repartir ese trabajo entre varias máquinas cambia la forma de programar: aparecen el barajado de datos, el particionado y una ejecución que no ocurre cuando se escribe la línea.

El curso se apoya en cuadernos de JupyterLab conectados a Spark, con conjuntos de datos lo bastante grandes para que las decisiones se noten. Se construyen transformaciones encadenadas, se observan los planes generados, se comparan estrategias de unión y se sigue cada trabajo en la interfaz web hasta entender dónde se va el tiempo.

Al terminar se pueden escribir procesos distribuidos que funcionan y, sobre todo, explicar por qué funcionan. Desde aquí el itinerario sigue hacia la optimización fina y las tablas transaccionales del lago, hacia el procesamiento continuo con Structured Streaming y hacia la orquestación de estos trabajos dentro de un flujo completo.

¿Para quién es este curso?

  • Personas desarrolladoras que ya han agotado lo que Pandas puede hacer en una sola máquina.
  • Perfiles de ingeniería de datos que entran en un equipo con procesos sobre Spark.
  • Analistas técnicos con SQL sólido que necesitan procesar volúmenes que no caben en memoria.
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BIG-110
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria
Entorno
Spark, Python, JupyterLab

Este curso incluye

  • 30 clases en vídeo bajo demanda
  • Práctica íntegramente en JupyterLab, solo con un navegador
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Próximamente

BIG-112Big Data e Ingeniería de Datos

Spark con Scala en notebook

La API nativa de Spark con el kernel Almond, para equipos que necesitan el máximo rendimiento.

SparkScalaJupyterLab

Avanzado 25 clases

Bajo demanda

BIG-120Big Data e Ingeniería de Datos

Apache Kafka: fundamentos

Topics, particiones, grupos de consumidores y retención: el sistema nervioso de la arquitectura de datos.

KafkaDocker

Avanzado 28 clases

Bajo demanda

BIG-130Big Data e Ingeniería de Datos

Apache Airflow: orquestación de pipelines

DAGs, dependencias, reintentos y alertas para procesos nocturnos que no se pueden caer.

AirflowPythonDocker

Avanzado 29 clases