hadoop - español - tutorial spark
Apache Storm en comparación con Hadoop (6)
¿Cómo se compara Storm con Hadoop? Hadoop parece ser el estándar de facto para el procesamiento por lotes a gran escala de código abierto, ¿Storm tiene alguna ventaja sobre hadoop? o ¿Son completamente diferentes?
Apache Storm es un sistema de computación en tiempo real distribuido de fuente abierta y gratuita. Storm facilita el procesamiento confiable de flujos ilimitados de datos, haciendo para el procesamiento en tiempo real lo que Hadoop hizo para el procesamiento por lotes.
Debido a que existen muchos subsistemas en el ecosistema de Hadoop, debemos elegir el subsistema derecho según los requisitos del negocio y la viabilidad de un sistema en particular.
Hadoop MapReduce es eficiente para el procesamiento por lotes de un trabajo a la vez. Esta es la razón por la cual Hadoop se está utilizando ampliamente como una herramienta de almacenamiento de datos en lugar de una herramienta de análisis de datos.
Como la pregunta está relacionada solo con " Tormenta " vs " Hadoop ", eche un vistazo a los casos de uso de Storm : servicios financieros, telecomunicaciones, comercio minorista, fabricación, transporte.
- Hadoop MapReduce es el más adecuado para el procesamiento por lotes.
- Storm es un motor de procesamiento de flujo completo y puede usarse para análisis de datos en tiempo real con latencia en segundos.
Eche un vistazo a este artículo dezyre para comparar entre Hadoop, Storm y Spark. Explica similitudes y diferencias.
Se puede resumir con la imagen de abajo (del artículo dezyre
)
¿Por qué no dices tu opinión?
- http://www.infoq.com/news/2011/09/twitter-storm-real-time-hadoop/
- http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html
Twitter Storm ha sido promocionado como Hadoop en tiempo real. Eso es más una estrategia de marketing para un consumo fácil.
Son superficialmente similares ya que ambos son soluciones de aplicaciones distribuidas. Además de los típicos elementos arquitectónicos distribuidos como el maestro / esclavo, la coordinación basada en el cuidador de zoológico, para mí la comparación cae del acantilado.
Twitter es más como una línea para procesar datos a medida que se presenta. La tubería es lo que conecta varios nodos de computación que reciben datos, calculan y entregan resultados. (Hay jerga y picos) Extienda esta analogía a un complejo cableado de tuberías que puede rediseñarse cuando sea necesario y usted recibe Twitter Storm.
En shell nut procesa los datos tal como vienen. No hay latencia
Hadoop, como sea, es diferente a este respecto principalmente debido a HDFS. Es una solución orientada al almacenamiento distribuido y la tolerancia a interrupciones de muchas escalas (discos, máquinas, bastidores, etc.)
M / R está diseñado para aprovechar la localización de datos en HDFS para distribuir trabajos computacionales. Juntos, no brindan facilidad para el procesamiento de datos en tiempo real. Pero eso no siempre es un requisito cuando buscas datos de gran tamaño. (aguja en la analogía del pajar)
En resumen, Twitter Storm es una solución distribuida de procesamiento de datos en tiempo real. No creo que debamos compararlos. Twitter lo creó porque necesitaba una instalación para procesar pequeños tweets, pero un número enorme de ellos y en tiempo real.
Ver: HStreaming si estás obligado a compararlo con algo
Básicamente, ambos se usan para analizar datos grandes, pero Storm se usa para el procesamiento en tiempo real, mientras que Hadoop se usa para el procesamiento por lotes.
Esta es una muy buena introducción a Storm que encontré: haga clic aquí
En lugar de ser comparados, se supone que se complementan entre sí ahora que tienen procesamiento por lotes + en tiempo real (tiempo pseudo-real). Hay una presentación de video correspondiente: Ted Dunning en la tormenta de Twitter
He estado usando Storm por un tiempo y ahora dejé esta tecnología realmente buena por una sorprendente: Spark ( http://spark.apache.org ) que proporciona al desarrollador una API unificada para procesamiento por lotes o transmisión (micro -batch), así como el aprendizaje automático y el procesamiento de gráficos.
vale la pena intentarlo.
Storm es para Fast Data (tiempo real) y Hadoop es para Big data (toneladas de datos preexistentes). Storm no puede procesar Big data, pero puede generar Big data como salida.