¿Por qué utilizar el marco Spark en la era del big data?
En primer lugar, Hadoop y Apache Spark son marcos de trabajo de big data, pero existen para diferentes propósitos. Básicamente, Hadoop se parece más a una infraestructura de datos distribuida:
Distribuye enormes conjuntos de datos a múltiples nodos en un grupo de computadoras común para su almacenamiento, lo que significa que no es necesario comprar ni mantener costoso hardware de servidor.
Hadoop, por su parte, indexa y rastrea estos datos, haciendo que el procesamiento y análisis de big data sea más eficiente que nunca, mientras que Spark, por otro lado, es una herramienta distribuida diseñada para almacenar big data en un manera distribuida. No realiza almacenamiento de datos distribuidos.
Los dos se pueden combinar o separar
Además de proporcionar la función de almacenamiento de datos distribuidos HDFS universalmente reconocida, Hadoop también proporciona un almacenamiento de datos llamado funciones de procesamiento MapReduce. Entonces aquí podemos abandonar por completo Spark y usar el propio MapReduce de Hadoop para completar el procesamiento de datos.
Por el contrario, Spark no depende necesariamente de Hadoop para sobrevivir. Pero como se mencionó anteriormente, después de todo, no proporciona un sistema de administración de archivos, por lo que debe integrarse con otros sistemas de archivos distribuidos para funcionar. Aquí podemos elegir HDFS de Hadoop u otras plataformas de sistemas de datos basadas en la nube. Pero Spark todavía se usa en Hadoop de forma predeterminada. Después de todo, todos piensan que su combinación es la mejor.
El siguiente es el análisis más conciso y claro de MapReduce extraído de Internet por la sucursal de Tiandihui Zhuhai, entendiéndolo como una persona en la computadora:
Tenemos que contar todos los libros en la biblioteca. Tú cuentas la estantería 1, yo cuento la estantería 2. Este es "mapa". Cuantos más seamos, más rápido podremos contar libros.
Ahora, reunámonos y sumemos las estadísticas de todos. Esto es "Reducir".
Spark mata a MapReduce
Spark es mucho más rápido que MapReduce porque procesa los datos de manera diferente:
"Lee los datos del clúster y procésalos una vez, escribe los resultados al clúster, leer los datos actualizados del clúster, realizar el siguiente procesamiento, escribir los resultados en el clúster, etc..." dijo Kirk Borne, científico de datos de Booz Allen Hamilton
parse.
Spark, por otro lado, realiza todos los análisis de datos en la memoria casi en tiempo real: "Lee los datos del clúster, hace todos los análisis necesarios", dijo Born y luego escribe los resultados. al cluster y listo. "En términos de procesamiento por lotes, Spark es casi 10 veces más rápido que MapReduce, y en términos de análisis de datos en memoria, Spark es casi 100 veces más rápido que MapReduce", dijo Born.
Si es necesario Procese los datos y las necesidades resultantes. En su mayoría estático, y tiene la paciencia para esperar a que se complete el procesamiento por lotes, el procesamiento de MapReduce es perfectamente aceptable.
Sin embargo, si necesita analizar datos de transmisión (como los datos recopilados). por sensores de fábrica), o si su aplicación requiere múltiples procesos de procesamiento de datos, probablemente debería usar Spark para procesar los datos.
La mayoría de los algoritmos de aprendizaje automático requieren múltiples procesos de datos. Además, Spark se usa comúnmente en algunos de. las siguientes aplicaciones: actividades de marketing en tiempo real, recomendaciones de productos en línea, análisis de seguridad de la red, monitoreo del diario de la máquina, etc.