¿Cuál es la diferencia entre Spark Streaming y Spark Structured Streaming? ¿Qué debo utilizar?
Spark Streaming es la generación anterior del motor de streaming de Spark. Ya no hay actualizaciones de Spark Streaming y es un proyecto heredado. Spark Streaming proporciona una abstracción de alto nivel denominada flujo discretizado o DStream, que representa un flujo continuo de datos. Internamente, un DStream se representa como una secuencia de RDDs.

Spark Structured Streaming es la generación actual del motor de flujo de Spark, que es más rico en funcionalidad, más fácil de usar y más escalable. Spark Structured Streaming está construido sobre el motor Spark SQL y te permite expresar el cálculo de flujo de la misma forma que expresas un cálculo por lotes sobre datos estáticos.

Deberías utilizar Spark Structured Streaming para construir aplicaciones de streaming y pipelines con Spark. Si tienes aplicaciones y procesos heredados construidos con Spark Streaming, deberías migrarlos a Spark Structured Streaming.