Spark: Structured Streaming (El Fin del Batch) | Curso Spark, Scala y Terraform

Spark: Structured Streaming (El Fin del Batch)

Autor: Eduardo Martínez Agrelo

El negocio ya no quiere esperar a mañana para ver qué canciones son tendencia. Quieren los datos ahora. El modelo tradicional de procesos "Batch" (por lotes) tiene sus límites cuando la latencia es crítica. En este laboratorio, daremos el salto al procesamiento en tiempo real utilizando Structured Streaming.

Micro-Batching: El concepto del "Stream Infinito"

Spark trata el streaming no como archivos aislados, sino como una tabla infinita que nunca termina de crecer. Bajo el capó, funciona mediante Micro-batches:

  • Procesamiento continuo: Cada pocos milisegundos, el motor de Spark detecta nuevos archivos que han llegado a nuestro bucket de Google Cloud Storage.
  • Inmediatez: En lugar de esperar a que termine el día, los nuevos datos se procesan y se integran en el resultado final en tiempo real.

Checkpointing: Garantizando la integridad

La pregunta crítica para cualquier ingeniero de datos es: ¿Qué ocurre si nuestro clúster de Dataproc falla a mitad del proceso? Si perdemos el estado del stream, podríamos procesar duplicados o perder datos fundamentales.

  • La solución es el Checkpointing: Utilizamos una carpeta de estado denominada checkpointLocation.
  • Tolerancia a fallos: Spark guarda un registro exacto de qué archivos ya ha procesado y cuáles están pendientes. Si el clúster se apaga y se reinicia, Spark retoma el trabajo exactamente donde lo dejó, garantizando el procesamiento exactly-once.

Implementación: Magia en tiempo real

En este laboratorio, configuraremos nuestra fuente de datos como una fuente de streaming. Verás cómo, al subir un archivo JSON a nuestro bucket de entrada, Spark lo detecta automáticamente, lo procesa y escribe el resultado en formato Parquet en la carpeta de salida sin intervención humana.

Conclusión: Sistemas resilientes

Has aprendido que el streaming no es solo velocidad; es robustez. Dominar el checkpointing y el micro-batching te permite construir arquitecturas capaces de auto-recuperarse ante desastres. Estás un paso más cerca de dominar por completo el ecosistema de Big Data.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!