Comparación de los marcos de los motores informáticos convencionales de Flink, Storm y Spark

Hadoop es una infraestructura de sistema distribuida desarrollada por Apache Foundation.
Hadoop incluye principalmente HDFS, MapReduce y la herramienta de almacenamiento de datos Hive, base de datos distribuida Hbase

El diseño central del marco de Hadoop es: HDFS y MapReduce. HDFS proporciona almacenamiento para cantidades masivas de datos y MapReduce proporciona cálculos para cantidades masivas de datos.

Hive es un almacén de datos construido en Hadoop. Hive es una herramienta de almacén de datos basada en Hadoop. Puede mapear archivos de datos estructurados a una tabla de base de datos y proporcionar funciones completas de consulta SQL. Las declaraciones SQL se pueden convertir a MapReduce. La tarea se ejecuta. Sus ventajas son los bajos costos de aprendizaje, las estadísticas simples de MapReduce se pueden realizar rápidamente a través de declaraciones similares a SQL, no es necesario desarrollar aplicaciones especiales de MapReduce y es muy adecuado para el análisis estadístico de almacenes de datos.

La relación de desarrollo del motor de computación apache.
Tres artículos en apche identifican la base de big data. Entre ellos, el Sr. recibió la inspiración de uno de los artículos y creó mapreduce. Al mismo tiempo, han aparecido otras tecnologías junto con el desarrollo de los tiempos.
El nombre completo de Hbase es Hadoop Database, es decir, Hbase es la base de datos de Hadoop y es un sistema de almacenamiento distribuido. Hbase usa HDFS de Hadoop como su sistema de almacenamiento de archivos y usa MapReduce de Hadoop para procesar cantidades masivas de datos en Hbase. Utilice el guardián del zoológico como herramienta de coordinación.

1. La primera generación de motor de cálculo mapreduce

Como primer motor informático para el procesamiento por lotes, mapreduce es el pionero de los motores informáticos. Admite el aprendizaje automático internamente, pero la biblioteca de aprendizaje automático no se actualiza. La escritura de Mapreduce requiere mucho tiempo, baja eficiencia de desarrollo y demasiado tiempo de desarrollo. Son pocas las empresas que escriben mapreduce para ejecutar programas.

2. El motor de computación de segunda generación porcino / colmena

Como el motor pig / hive de segunda generación, Hadoop está anidado (si no conoce Hadoop, se recomienda no mirarlo ...). Su almacenamiento se basa en hdfs y los cálculos se basan en mr. Hive / pig primero realizará tareas cuando procese tareas. Analizará su propio código en tareas m / r, lo que reduce en gran medida el costo de escribir mr. Pig tiene su propio lenguaje de scripting, que es más flexible que hive. Hive pertenece a una sintaxis similar a sql. Aunque no es tan flexible como pig, todos prefieren usar hive en un mundo donde los programadores saben cómo usar SQL. Pig / hive solo admite el procesamiento por lotes y el aprendizaje automático (hivemall)
3. El motor de computación de tercera generación Spark / Storm

Con el desarrollo de los tiempos, las empresas tienen una demanda creciente de procesamiento de datos en tiempo real, por lo que ha aparecido tormenta / chispa.

Los dos tienen sus propios modos de cálculo. Storm es un procesamiento de flujo real, con baja latencia (latencia de nivel de ms), alto rendimiento, y cada dato desencadena cálculos. Spark pertenece al procesamiento por lotes convertido en procesamiento de transmisión, es decir, los datos de transmisión se dividen en pequeños lotes para el cálculo según el tiempo. En comparación con la tormenta, el retraso será superior a 0,5 s (retraso de nivel s), pero el consumo de rendimiento más bajo que la tormenta. "El cálculo de transmisión es un caso especial de cálculo por lotes (el cálculo de transmisión es el resultado de un cálculo dividido)"
4. El motor de cálculo de cuarta generación flink

flink apareció en apache en 2015, y más tarde fue optimizado por el equipo técnico de Alibaba (aquí estoy orgulloso de ser chino), ya que blink, flink admite el procesamiento por lotes que también admite la transmisión de datos. Flink nace para la computación en streaming y pertenece a todos los datos para activar los cálculos. El consumo de rendimiento es menor que el de tormenta, el rendimiento es mayor que el de tormenta, el retraso es menor que el de tormenta y es más fácil de escribir que el de tormenta. Debido a que Storm necesita escribir su propia lógica para implementar Windows, hay métodos de ventana en Flink. Flink admite internamente una variedad de funciones, incluidas funciones de ventana y varios operadores (esto es muy similar a Spark, pero no hay forma de comparar Spark en rendimiento y tiempo real) Flink admite solo una semántica para garantizar que los datos no se pierdan. flink admite envent time para controlar el tiempo de la ventana, admite el tiempo fuera de orden y el procesamiento del tiempo (esto es muy poderoso) para el procesamiento por lotes El procesamiento por lotes de flink puede entenderse como "el procesamiento por lotes es un caso especial de procesamiento de transmisión" (computación por lotes está transmitiendo el resultado combinado del cálculo)

exactamente una vez
Al menos una vez Al menos una vez En
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
comparación con tormenta, tanto la chispa como el flink admiten ventanas y operadores, lo que reduce mucho el tiempo de programación. En comparación con tormenta y chispa, flink admite desorden y tiempo de demora (en En escenarios reales, esta función es muy impresionante), personalmente creo que esta función puede activar Spark. Para Spark, su ventaja es el aprendizaje automático. Si nuestro escenario no requiere altos requisitos en tiempo real, podemos considerar Spark, pero si es necesario Si es muy alto , considere usar flink, como monitorear el consumo anormal de los usuarios. Si se usa Spark en este escenario, espere hasta que el sistema encuentre que se inició la alerta temprana (0.5s), el criminal ha completado la transacción. Es concebible que en algunos escenarios, flink ¿Qué importancia tiene el tiempo real?

Supongo que te gusta

Origin blog.csdn.net/yangshengwei230612/article/details/114483125
Recomendado
Clasificación