Procesa datos de streaming en milisegundos en Apache Spark, sin ninguna de las sobrecargas de Apache Flink
por Navneeth Nair, Jerry Peng y Abhay Bothra
Apache Spark Structured Streaming ha impulsado durante mucho tiempo los pipelines de datos de misión crĆtica a gran escala, desde ETL de streaming hasta anĆ”lisis y machine learning. Pero a medida que los casos de uso operativos evolucionaron, los equipos comenzaron a exigir algo mĆ”s: latencias de subsegundo para aplicaciones como la detección de fraudes, la personalización, la detección de anomalĆas, las alertas y los informes en tiempo real.
Históricamente, cumplir con estos requisitos de latencia ultrabaja significaba introducir sistemas especializados junto con Spark. Con la introducción del modo de tiempo real en Spark Structured Streaming, esa contrapartida ya no es necesaria. En este blog, exploramos cómo Spark simplifica la arquitectura de streaming en tiempo real para casos de uso comunes, como la ingenierĆa de caracterĆsticas, elimina la complejidad operativa de larga data y ofrece un rendimiento lĆder en la industria.
La capacidad de procesar datos y actuar sobre ellos en tiempo real es ahora un requisito fundamental. Las aplicaciones modernas, especialmente los agentes de IA, dependen de un flujo continuo de contexto actualizado para funcionar. Si los datos subyacentes estĆ”n incompletos o desactualizados, la experiencia del usuario se ve afectada. El rendimiento en tiempo real no solo es necesario para casos de uso tradicionales como la detección de fraudes, sino para cada interacción comĆŗn en la que un usuario espera respuestas precisas y actualizadas. En este entorno, la latencia afecta directamente los ingresos, la confianza del cliente y la ventaja competitiva.Ā
Históricamente, los equipos de datos que creaban aplicaciones de streaming en tiempo real han tenido que gestionar dos stacks de procesamiento de datos distintos: Apache Spark⢠para el anĆ”lisis a gran escala y sistemas especializados como Apache FlinkĀ® o Kafka Streams para aplicaciones sensibles a la latencia y de subsegundo. Esta fragmentación requiere que los equipos mantengan bases de código duplicadas, administren modelos de gobernanza separados y contraten talento especializado para ajustar y mantener la infraestructura especĆfica del motor.
Lanzado en versión preliminar pĆŗblica en agosto de 2025, el Modo en tiempo real (RTM) para Apache Spark Structured Streaming estĆ” diseƱado para eliminar esta fricción. Al evolucionar fundamentalmente el motor de ejecución de Spark, hemos eliminado la necesidad de un segundo sistema. Este cambio permite a los ingenieros abordar todo el espectro de casos de uso ādesde ETL de alto rendimiento hasta aplicaciones en tiempo real de baja latenciaā utilizando la misma API de Spark que ya conocen. Esto significa menos tiempo gestionando la infraestructura y mĆ”s tiempo para centrarse en el caso de uso de negocio.
El modo de tiempo real (RTM) introdujo un nuevo motor de ejecución optimizado que permite a Spark ofrecer latencias consistentes de menos de un segundo. Para evaluar el rendimiento, realizamos una comparación en paralelo entre Spark RTM y Apache Flink. Las pruebas se basaron en cargas de trabajo de computación de caracterĆsticas en tiempo real que vemos comĆŗnmente en producción. Estos patrones de computación de caracterĆsticas son representativos de la mayorĆa de los casos de uso de ETL de baja latencia, como la detección de fraudes, la personalización y el anĆ”lisis operativo.
Evaluamos tres patrones de caracterĆsticas comunes:
Los resultados demuestran que la arquitectura evolucionada de Spark proporciona un perfil de latencia comparable al de los frameworks de streaming especializados.

Este rendimiento es posible gracias a tres innovaciones tƩcnicas clave en RTM:
En conjunto, estos transforman a Spark en un motor de alto rendimiento y baja latencia capaz de manejar los casos de uso operativos mƔs exigentes.
Si bien la velocidad pura es esencial, el verdadero valor del modo de tiempo real reside en su capacidad para eliminar la complejidad operativa que normalmente dificulta la creación de pipelines de latencia ultrabaja. Spark RTM simplifica significativamente su arquitectura a través de tres ventajas principales. Para concretar esto, los describimos en el contexto de las aplicaciones de machine learning en tiempo real.
Minimizar la āderiva lógicaā entre el entrenamiento y la inferencia: el ML en tiempo real, como la detección de fraudes, requiere una transferencia fluida entre el procesamiento por lotes de alto rendimiento (para el entrenamiento de modelos) y el streaming de baja latencia (para la inferencia en vivo). Spark es la opción preferida de los cientĆficos de datos para el entrenamiento de modelos, y forzar un cambio de Spark a Flink para la inferencia crearĆa una brecha en la lógica de negocio. Terminas con una versión de la lógica en Spark para el entrenamiento y una base de código completamente diferente en Flink para la producción. Esta replicación de la lógica de negocio puede ser propensa a errores y conduce a la deriva lógica, donde tu modelo se entrena con una realidad, pero realiza predicciones sobre otra. Con Spark RTM, tu código de transformación permanece idĆ©ntico, lo que te permite poner las caracterĆsticas en producción mĆ”s rĆ”pido y con gran precisión.Ā
Actualización de datos a pedido con un cambio de una sola lĆnea de código: Los requisitos del negocio rara vez son estĆ”ticos. Un pipeline de caracterĆsticas que hoy comienza con un SLA de 1 minuto podrĆa requerir una latencia inferior al segundo maƱana, a medida que evolucionan las necesidades de actualización de datos del modelo. Por el contrario, para muchos casos de uso, "ir mĆ”s lento" (p. ej., lotes diarios u horarios) es significativamente mĆ”s rentable cuando no se requiere una actualización de datos inmediata. Spark proporciona el espacio para crecer y escalar junto con su producto. Le permite cambiar fĆ”cilmente su estrategia de ingenierĆa de caracterĆsticas con un cambio de una sola lĆnea de código. Por ejemplo, puede configurar su activador en AvailableNow para ejecutar un pipeline con una programación diaria u horaria. Cuando las necesidades del negocio cambian, puede pasar al streaming continuo de latencia ultrabaja simplemente cambiando al modo de tiempo real: .trigger(RealTimeTrigger.apply()). En cambio, lograr esto en Flink es un proceso manual. A menudo, requiere que ajuste el paralelismo y organice el apagado y el reinicio de los recursos de computación solo para igualar una nueva frecuencia de procesamiento.Ā
Acelere el desarrollo: RTM se basa en la misma API de Spark que su equipo ya conoce. Esto elimina la fricción de mantener múltiples sistemas, lo que le permite avanzar mÔs rÔpido al crear y escalar aplicaciones en tiempo real dentro de un entorno único y coherente.
Los primeros en adoptarlo estĆ”n usando RTM para potenciar una gama de aplicaciones de baja latencia en diversas industrias.Ā
Detección de fraudes: Una plataforma lĆder de activos digitales computa caracterĆsticas de riesgo dinĆ”micas, como verificaciones de velocidad y patrones de gasto agregado, a partir de flujos de Kafka, y actualiza su almacĆ©n de caracterĆsticas en lĆnea en menos de 200 milisegundos para bloquear transacciones fraudulentas en el punto de venta.
Experiencias personalizadas: Una plataforma de comercio electrónico computa caracterĆsticas de intención en tiempo real basadas en la sesión actual de un usuario, lo que permite que los modelos actualicen las recomendaciones en el momento en que un usuario interactĆŗa con un producto.
Monitoreo de IoT: una empresa de transporte y logĆstica ingiere telemetrĆa en vivo para impulsar la detección de anomalĆas, y pasa de una toma de decisiones reactiva a una proactiva en milisegundos.
DraftKings, uno de los servicios de apuestas deportivas y deportes de fantasĆa mĆ”s grandes de NorteamĆ©rica, usa RTM para potenciar el cómputo de caracterĆsticas para sus modelos de detección de fraudes.
āEn las apuestas deportivas en vivo, la detección de fraudes exige una velocidad extrema. La introducción del modo de tiempo real, junto con la API transformWithState en Spark Structured Streaming, ha sido un punto de inflexión para nosotros. āLogramos mejoras sustanciales tanto en la latencia como en el diseƱo de pipelines y, por primera vez, creamos pipelines de caracterĆsticas unificados para el entrenamiento de ML y la inferencia en lĆnea, logrando latencias ultrabajas que antes simplemente no eran posiblesā. āMaria Marinova, ingeniera de software lĆder sĆ©nior, DraftKings
La era de elegir entre "fÔcil" y "rÔpido" ha terminado. ¿Por qué administrar dos motores, dos modelos de seguridad y dos conjuntos de habilidades especializadas cuando ahora un solo motor lo hace todo? RTM ofrece la velocidad inferior al segundo que exigen tus aplicaciones en tiempo real, con la simplicidad arquitectónica que tu equipo merece. Al eliminar el "impuesto  operativo", finalmente puedes centrarte en generar valor en lugar de administrar la infraestructura.
ĀæListo para eliminar la complejidad de tu stack de tiempo real?
Ā
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
SuscrĆbete a nuestro blog y recibe las Ćŗltimas publicaciones directamente en tu bandeja de entrada.