Aprender PySpark Structured Streaming

Módulo del curso de PySpark

PySpark
PySpark
Módulo del curso
Actualizado: 18/04/2026

Módulo: Structured Streaming

Este módulo forma parte del curso de PySpark. .

Structured Streaming es el motor de procesamiento en tiempo real de Spark. A diferencia de los enfoques tradicionales de streaming, utiliza la misma API de DataFrames que el procesamiento por lotes, lo que facilita la reutilización de código y la curva de aprendizaje.

El modelo de ejecución es microbatch por defecto: Spark procesa los datos en pequeños lotes a intervalos configurables mediante trigger. También existe el modo continuo para latencias muy bajas. Las fuentes de datos disponibles incluyen archivos en directorios, sockets TCP, rate (para pruebas) y Apache Kafka:

# Leer un stream desde Kafka
stream_df = spark.readStream \
    .format("kafka") \
    .option("kafka.bootstrap.servers", "localhost:9092") \
    .option("subscribe", "eventos") \
    .load()

# Procesar: deserializar el valor y agregar por ventana de tiempo
from pyspark.sql.functions import window, col, from_json
from pyspark.sql.types import StructType, StringType, DoubleType

schema = StructType().add("producto", StringType()).add("precio", DoubleType())
df_parsed = stream_df.select(from_json(col("value").cast("string"), schema).alias("data")).select("data.*")

df_ventana = df_parsed.groupBy(window(col("timestamp"), "5 minutes"), "producto").sum("precio")

# Escribir el resultado
query = df_ventana.writeStream.outputMode("update").format("console").start()

Los watermarks gestionan los datos que llegan con retraso, definiendo cuánto tiempo esperar antes de considerar una ventana temporal completa. Los modos de salida append, complete y update controlan qué filas se emiten en cada microbatch. El checkpointing garantiza la recuperación ante fallos con semántica exactly-once.

Explora más sobre PySpark

Descubre más recursos de PySpark

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, PySpark es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.