spark example data apache-spark spark-streaming apache-flink

example - ¿Qué significa "transmisión" en Apache Spark y Apache Flink?



data streaming spark example (1)

El análisis de transmisión de datos (en contraste con el análisis de datos "por lotes") se refiere a un análisis continuo de una corriente típicamente infinita de elementos de datos (a menudo llamados eventos).

Características de las aplicaciones de transmisión

Las aplicaciones de procesamiento de datos de flujo generalmente se caracterizan por los siguientes puntos:

  • Las aplicaciones de transmisión se ejecutan de forma continua, durante un tiempo muy prolongado, y consumen y procesan eventos tan pronto como aparecen. A diferencia de. las aplicaciones por lotes recopilan datos en archivos o bases de datos y lo procesan más tarde.

  • Las aplicaciones de streaming frecuentemente se preocupan por la latencia de los resultados. La latencia es la demora entre la creación de un evento y el momento en que la aplicación de análisis ha tenido en cuenta ese evento.

  • Debido a que las transmisiones son infinitas, muchos cálculos no pueden referirse a toda la secuencia, sino a una "ventana" sobre la secuencia. Una ventana es una vista de una subsecuencia de los eventos de flujo (como los últimos 5 minutos). Un ejemplo de una estadística de ventana del mundo real es el "precio promedio de las acciones en los últimos 3 días" .

  • En las aplicaciones de transmisión, el momento de un evento a menudo juega un papel especial. La interpretación de eventos con respecto a su orden en el tiempo es muy común. Si bien ciertas aplicaciones por lotes también pueden hacer eso, no es un concepto central allí.

Ejemplos de aplicaciones de transmisión

Ejemplos típicos de aplicación de procesamiento de datos de flujo son

  • Detección de fraude: la aplicación intenta averiguar si una transacción se ajusta al comportamiento que se ha observado anteriormente. Si no lo hace, la transacción puede indicar un intento de uso incorrecto. Típicamente una aplicación crítica de latencia.

  • Detección de anomalías: la aplicación de transmisión crea un modelo estadístico de los eventos que observa. Los valores atípicos indican anomalías y pueden desencadenar alertas. Los datos del sensor pueden ser una fuente de eventos que se desea analizar en busca de anomalías.

  • Recomendaciones en línea: si no hay mucha información de comportamiento pasado disponible para un usuario que visita una tienda web, es interesante aprender de su comportamiento mientras navega por las páginas y explora artículos, y para comenzar a generar algunas recomendaciones iniciales directamente.

  • Almacenamiento de datos actualizado: hay artículos interesantes sobre cómo modelar una infraestructura de almacenamiento de datos como una aplicación de transmisión, donde la secuencia de eventos es una secuencia de cambios a la base de datos, y la aplicación de transmisión computa varios almacenes como "vistas agregadas" especializadas. de la secuencia del evento.

  • Hay muchos más ...

Al ir al sitio web de Apache Spark Streaming , vi una oración:

Spark Streaming facilita la creación de aplicaciones escalables de tolerancia a fallas.

Y en el sitio web Apache Flink , hay una oración:

Apache Flink es una plataforma de código abierto para el procesamiento de datos por lotes y de flujo escalables.

¿Qué significa streaming application y el batch data processing stream data processing ? ¿Puedes dar algunos ejemplos concretos? Están diseñados para datos de sensores?