Hadoop: Hadoop comenzó como un proyecto de Yahoo en 2006, que luego se convirtió en un proyecto de código abierto de Apache de alto nivel. Es una forma de uso general de procesamiento distribuido que tiene varios componentes: el sistema de archivos distribuidos de Hadoop (HDFS), almacena archivos en un formato nativo de Hadoop y los paraleliza en un clúster; YARN, un programa que coordina los tiempos de ejecución de las aplicaciones; y MapReduce, el algoritmo que realmente procesa los datos en paralelo. Hadoop está construido en Java y es accesible a través de muchos lenguajes de programación para escribir código MapReduce, incluido Python, a través de un cliente Thrift.
Está disponible como código abierto a través de la distribución de Apache o a través de proveedores como Cloudera (el mayor proveedor de Hadoop por tamaño y alcance), MapR o HortonWorks.
Spark: Spark es un proyecto más nuevo, desarrollado inicialmente en 2012, en el AMPLab de UC Berkeley. Es un proyecto de Apache de nivel superior centrado en el procesamiento de datos en paralelo en un clúster, pero la mayor diferencia es que funciona en la memoria.
Mientras que Hadoop lee y escribe archivos en HDFS, Spark procesa datos en RAM utilizando un concepto conocido como RDD, Conjunto de datos distribuido resistente. Spark puede ejecutarse en modo independiente, con un clúster de Hadoop como fuente de datos, o en conjunto con Mesos. En el último escenario, el maestro Mesos reemplaza al maestro Spark o YARN para fines de programación.
Spark está estructurado en torno a Spark Core, el motor que impulsa la programación, las optimizaciones y la abstracción de RDD, además de conectar Spark al sistema de archivos correcto (HDFS, S3, RDBMS o Elasticsearch). Hay varias bibliotecas que funcionan sobre Spark Core, incluido Spark SQL, que le permite ejecutar comandos similares a SQL en conjuntos de datos distribuidos, MLLib para aprendizaje automático, GraphX para problemas de gráficos y transmisión que permite la entrada de transmisión continua. Dato de registro.
A continuación se muestra una tabla de diferencias entre Spark y Hadoop:
S.No | Hadoop | Chispa – chispear |
---|---|---|
1. | Hadoop es un marco de código abierto que utiliza un algoritmo MapReduce | Spark es una tecnología informática de clúster ultrarrápida, que amplía el modelo MapReduce para usarlo de manera eficiente con más tipos de cálculos. |
2. | El modelo MapReduce de Hadoop lee y escribe desde un disco, por lo que ralentiza la velocidad de procesamiento | Spark reduce la cantidad de ciclos de lectura/escritura en el disco y almacena datos intermedios en la memoria, por lo tanto, la velocidad de procesamiento es más rápida. |
3. | Hadoop está diseñado para manejar el procesamiento por lotes de manera eficiente | Spark está diseñado para manejar datos en tiempo real de manera eficiente. |
4. | Hadoop es un marco informático de alta latencia, que no tiene un modo interactivo | Spark es una informática de baja latencia y puede procesar datos de forma interactiva. |
5. | Con Hadoop MapReduce, un desarrollador solo puede procesar datos en modo por lotes | Spark puede procesar datos en tiempo real, desde eventos en tiempo real como twitter, facebook |
6. | Hadoop es una opción más barata disponible al compararla en términos de costo | Spark requiere mucha RAM para ejecutarse en la memoria, lo que aumenta el clúster y, por lo tanto, el costo. |
7. | El algoritmo PageRank se utiliza en Hadoop. | Spark utiliza la biblioteca de cálculo de gráficos llamada GraphX. |
Publicación traducida automáticamente
Artículo escrito por rakesh60299 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA