¿Cuáles son las ventajas de Big Data Storm sobre Spark y Hadoop?

Resumen:  1. Muchos recién llegados a Big Data pueden no saber qué es Strom. Permítanme presentarles Strom: un sistema informático distribuido en tiempo real. El significado de tormenta para la informática en tiempo real es similar al de hadoop para el procesamiento por lotes.

1. Muchos recién llegados a Big Data pueden no saber qué es Strom. Permítanme presentarles primero Strom:
sistema informático distribuido en tiempo real. El significado de tormenta para la informática en tiempo real es similar al de hadoop para el procesamiento por lotes.
La escena aplicable de la tormenta.
Streaming de procesamiento de datos. Storm se puede usar para procesar los mensajes entrantes y escribir los resultados en un almacenamiento después del procesamiento.
RPC distribuido. Debido a que los componentes de procesamiento de Storm están distribuidos, y el retraso de procesamiento es extremadamente bajo, puede usarse como un marco de distribución distribuido general. Por supuesto, de hecho, nuestro motor de búsqueda en sí también es un sistema distribuido de RPC


En segundo lugar, echemos un vistazo a las características de Storm, Spark y Hadoop.
Storm: computación distribuida en tiempo real, enfatizando en tiempo real, a menudo utilizada en lugares con altos requisitos en tiempo real;
Hadoop: computación distribuida en lotes, enfatizando el procesamiento por lotes, de uso común Para la minería y el análisis de datos;
Spark: es un sistema de cómputo de clúster de código abierto basado en la computación en memoria, el propósito es hacer que el análisis de datos sea más rápido, Spark es un entorno de cómputo de clúster de código abierto similar a Hadoop, pero hay algunas diferencias entre los dos Donde, estas diferencias útiles hacen que Spark funcione mejor en ciertas cargas de trabajo. En otras palabras, Spark permite conjuntos de datos de distribución de memoria, además de proporcionar consultas interactivas, también puede optimizar cargas de trabajo iterativas.
3. Las ventajas de strom

  1. Programación simple Creo
    que todos están familiarizados con hadoop en el procesamiento de big data. Hadoop, basado en GoogleMap / Reduce, proporciona a los desarrolladores mapas y primitivas de reducción, lo que hace que el procesamiento por lotes en paralelo sea muy simple y hermoso. Del mismo modo, Storm también proporciona algunas primitivas simples y hermosas para la computación en tiempo real de grandes datos, lo que reduce en gran medida la complejidad de la tarea de desarrollar un procesamiento paralelo en tiempo real y lo ayuda a desarrollar aplicaciones de manera rápida y eficiente.
    Spark proporciona muchos tipos de operaciones de conjuntos de datos, a diferencia de Hadoop, que solo proporciona dos operaciones, Mapa y Reducir. Como map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues, sort, partionBy y otros tipos de operaciones, a estas operaciones se les llama Transformaciones. Al mismo tiempo, también proporciona Contar, recopilar, reducir, buscar, guardar y otras acciones. Estos diversos tipos de operaciones de conjuntos de datos proporcionan conveniencia para los usuarios de la capa superior. El modelo de comunicación entre varios nodos de procesamiento ya no es el único modo de Mezcla de datos como Hadoop. Los usuarios pueden nombrar, materializar, controlar la partición de resultados intermedios, etc. Se puede decir que el modelo de programación es más flexible que Hadoop. Si desea aprender Big Data sistemáticamente, puede unirse a la tecnología de Big Data para conocer la deducción : 522189307
  2. Soporte multilingüe
    Además de usar Java para implementar spout and bolt, también puede usar cualquier lenguaje de programación con el que esté familiarizado para completar este trabajo, todo gracias al llamado protocolo multilingüe de Storm. El protocolo multilingüe es un protocolo especial dentro de Storm que permite que el spout o bolt use entrada estándar y salida estándar para la entrega de mensajes. El mensaje que se pasa es una sola línea de texto o múltiples líneas de codificación json.
    Storm admite programación en varios idiomas principalmente a través de ShellBolt, ShellSpout y ShellProcess. Estas clases implementan las interfaces IBolt e ISpout y el protocolo que permite que el shell ejecute scripts o programas a través de la clase Java ProcessBuilder.
    Se puede ver que de esta manera, cada tupla necesita realizar la codificación y decodificación json cuando se procesa, por lo que tendrá un mayor impacto en el rendimiento.
  3. Admite la expansión horizontal
    Hay tres entidades principales que realmente ejecutan la topología en un clúster de Storm: procesos de trabajo, subprocesos y tareas. Cada máquina en el clúster Storm puede ejecutar múltiples procesos de trabajo, y cada proceso de trabajo puede crear múltiples subprocesos. Cada subproceso puede realizar múltiples tareas. Las tareas son las entidades que realmente realizan el procesamiento de datos. La boquilla, que desarrollamos El perno se ejecuta como una o más tareas.
    Por lo tanto, las tareas informáticas se realizan en paralelo entre múltiples subprocesos, procesos y servidores, lo que permite una expansión horizontal flexible.
  4. Fuerte tolerancia a fallas
    Si algo sale mal durante el procesamiento del mensaje, Storm reorganizará la unidad de procesamiento defectuosa. Storm garantiza que una unidad de procesamiento se ejecutará para siempre (a menos que la elimine explícitamente).
  5. Garantía confiable de mensajes
    Storm puede garantizar que cada mensaje enviado por spout pueda ser "procesado completamente", lo que también es directamente diferente de otros sistemas en tiempo real, como S4.
  6. Procesamiento rápido de mensajes
    Use ZeroMQ como la cola de mensajes subyacente para garantizar que los mensajes puedan procesarse rápidamente
  7. Modo local, soporte de prueba de programación rápida
    Storm tiene un "modo local", que consiste en simular todas las funciones de un clúster de Storm en el proceso. Ejecutar la topología en modo local es similar a ejecutar la topología en el clúster. Esto es muy importante para nuestro desarrollo y pruebas. Útil
207 artículos originales publicados · elogiados 5 · 40,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/mnbvxiaoxin/article/details/105081704
Recomendado
Clasificación