La elección de una herramienta para el procesamiento de flujo depende de si queremos que los datos se procesen en ” tiempo real ” o ” casi en tiempo real “, decidiendo la tolerancia a fallos entre “al menos una semántica ” y ” exactamente una semántica ” y entre “latencia de sub-segundo ” y ” unos segundos “de latencia deberían ayudarnos a decidir entre Storm y Spark .
Aquí está Storm and Spark en conversación sobre lo que son capaces de hacer:
Tormenta: proceso un evento entrante a la vez
Spark: recopilo datos en un pequeño intervalo de tiempo como un micro lote y los proceso
- Quiero comenzar a buscar un nuevo asesor de doctorado. ¿Cómo procedo y qué les digo a los otros profesores como la razón?
- Actualicé mi sistema a Windows 10 y no me gustó e hice una recuperación, ahora es win8. Pero parece abrirse más lento que el pasado. ¿Es el caso normal?
- Tengo sentimientos encontrados antes de dar el GMAT. ¿Merece la pena ser admitido en una universidad en el extranjero con tasas de matrícula muy altas por el dinero ganado con esfuerzo de mis padres?
- Necesito saber sobre el reclutamiento actual de aerolíneas indias para pilotos. ¿Qué esperan realmente de una versión más fresca?
- Sé C ++, que debería aprender a continuación, ¿C # o Java? ¿Cuál proporcionará más oportunidades?
Tormenta: puedo proporcionar latencia de menos de un segundo
Spark: solo proporciono unos segundos de latencia. Pero bueno, me aseguro de que los datos se lean exactamente una vez y garantizo una mejor tolerancia a fallas.
Tormenta: garantizo que leo los datos al menos una vez.
Spark: Pero eso puede permitir datos duplicados una vez que te recuperes de las fallas.
Tormenta: Ya. Pero eso es un compromiso que debe hacer si necesita un procesamiento más rápido.
Traté de ensuciarme las manos con tormenta y chispa. No encontré buenos códigos de ejemplo. Terminé escribiendo blogs yo mismo sobre el procesamiento de Twitter Streams en tiempo real usando spark y storm. Debajo están los enlaces:
- Spark Streaming parte 1: análisis de sentimientos de Twitter en tiempo real
- Spark streaming parte 2: análisis de sentimientos en twitter en tiempo real usando Flume
- Spark streaming parte 3: análisis de sentimientos en twitter en tiempo real usando kafka
Usando Storm para analizar datos de Twitter e integración con kafka:
- Procesamiento de flujo en tiempo real usando Apache Storm – Parte 1
- Procesamiento de flujo en tiempo real usando Apache Storm y Kafka – Parte 2
También revise mis repositorios de github para el código:
- stdatalabs / SparkTwitterStreamAnalysis
- stdatalabs / StormTwitterStreamAnalysis
¡¡Espero que esto ayude!!