Completar en Los Campos Diseñados El Tema Propuesto
Completar en Los Campos Diseñados El Tema Propuesto
Completar en Los Campos Diseñados El Tema Propuesto
INFORME
PUNO-PERU
2021
¿Cuál es su necesidad?
Para este trabajo haremos uso de Spark y su estructura de datos primaria: las
RDD, una abstracción de datos distribuidos con evaluación perezosa que posibilita un
¿Cómo lo utiliza?
distribuidos. Para este estudio en concreto contamos con YARN, el gestor de recursos de
Hadoop.
cierto grado de control sobre las dependencias de su programa y sus versiones. Por este
motivo YARN ejecuta cada trabajo en un entorno individual para cada usuario, permitiendo
que varios proyectos con necesidades distintas puedan convivir en el mismo espacio.
Volumen
Las primeras pruebas con el modelo de islas, cuyos resultados aparecen reflejados
750 viajeros con 250 paquetes, comparando una población de 200 individuos a un hilo
contra varios conjuntos de 3 poblaciones de 200 cada una. Escogemos ese número de
dividuos y una tercera versión sin comunicación entre las colonias, con el objetivo de
comprobar que una posible mejora no viniera únicamente dada por una mayor cobertura
del espacio de soluciones. Tanto el clustering como la migración tenían lugar cada 100
iteraciones.
para 1500 viajeros, 1000 paquetes para 3000 viajeros y 2000 paquetes para 6000 viajeros,
instancia de 2000 paquetes no pudo ser completada con clustering, ya que las constantes
no obstante la versión local con un único hilo siempre daba mejores tiempos que la versión
Variedad
Velocidad
En este capítulo hemos explicado que Python, pese a no ser tan rápido como otros
que encapsular las dependencias del proyecto, que será distribuido entre todos los nodos
del cluster. Esta forma de proceder ofrece a equipos de varios desarrolla- dores la
son distribuidas como clases de Python gracias a las RDD de Spark. Colony es la clase
que actúa como colonia, gestionando las operaciones internas de la misma, y puede actuar
de forma independiente o como una isla del modelo distribuido. Master hace la tarea de
clustering.
Conclusión
islas, pero no está optimizado para este tipo de operaciones que requieren escrituras muy
esclavo, donde el sobre coste de tiempo escalaba siempre a la par que lo hacía el volumen
de datos. También hemos observado que la capa de abstracción que ofrece Spark puede
actuar en detrimento del algoritmo, ya que necesitaríamos cierto grado de control sobre la
carga de trabajo de los nodos, especialmente cuando el sistema es síncrono y las colonias
cambian de tamaño.
Cuadro comparativo entre Spark y Hadoop Mapreduce
- Trabaja in memory y, por lo tanto, - Los datos están en disco y eso hace
todos los procesos se aceleran. que todo resulte más lento.
- Pero necesita más memoria para el - La ventaja es que, en comparación con
almacenamiento. la otra alternativa, las necesidades de
- Su rendimiento puede verse mermado almacenamiento son inferiores.
debido a la necesidad de utilizar - Al ocuparse de eliminar los datos
aplicaciones pesadas. cuando no son ya necesarios, no
produce pérdidas de rendimiento
significativas para aplicaciones
pesadas.
GANADOR: Dado que ambas procesan los datos de forma diferente no hay forma de
determinar cuál es más eficiente
Seguridad
- Spark necesita ejecutarse en HDFS - Proporciona a sus usuarios todos los
para acceder a permisos de nivel de beneficios de los avances obtenidos en
archivo y, además, para obtener los proyectos de seguridad de Hadoop
beneficios de seguridad ha de recurrir a (Knox Gateway o Sentry son algunos
Hadoop YARN. ejemplos).
- HDFS admite la autorización de nivel
de servicio, que garantiza los permisos
adecuados para los clientes a nivel de
archivo
- Y, además.... tiene Hadoop YARN
GANADOR: En este caso Hadoop tiene muchas más funcionalidades que Spark
CONCLUSION
Cada uno domina al otro en distintas áreas. Por ejemplo, Hadoop sería la elección
acertada cuando el tamaño de la memoria es significativamente menor que el tamaño de los
datos; pero, si se busca rapidez, no cabría plantearse otra opción que Spark.
¿Qué es Apache Spark?
En sus propias palabras, Apache Spark es "un motor de análisis unificado para el
procesamiento de datos a gran escala". Spark es mantenido por la Apache Software
Foundation, una organización sin fines de lucro, que ha lanzado cientos de proyectos de
software de código abierto. Más de 1200 desarrolladores han contribuido a Spark desde el
inicio del proyecto.
¿Qué es Hadoop MapReduce?
MapReduce de Hadoop se describe a sí mismo como "un marco de software para escribir
fácilmente aplicaciones que procesan grandes cantidades de datos (conjuntos de datos de
varios terabytes) en paralelo en grandes grupos (miles de nodos) de hardware básico de
una manera confiable y tolerante a fallas".
RENDIMIENTO
Spark funciona mejor cuando todos los datos caben en la memoria, especialmente
en clústeres dedicados.
Hadoop MapReduce está diseñado para datos que no caben en la memoria y
pueden funcionar bien junto con otros servicios.
FACILIDAD DE USO
Spark es más fácil de programar e incluye un modo interactivo.
Hadoop MapReduce es más difícil de programar, pero hay varias herramientas
disponibles para hacerlo más fácil.
Spark es más rentable según los puntos de referencia, aunque la dotación de personal
podría ser más costosa.
Hadoop MapReduce podría ser más económico porque hay más personal disponible y
probablemente sea menos costoso para volúmenes de datos masivos.
COMPATIBILIDAD
Conclusión:
Apache Spark es potencialmente 100 veces más rápido que Hadoop MapReduce.
Apache Spark utiliza RAM y no está vinculado al paradigma de dos etapas de
Hadoop.
Apache Spark funciona bien para conjuntos de datos más pequeños que pueden
caber en la RAM de un servidor.
Hadoop es más rentable al procesar conjuntos de datos masivos.
Apache Spark ahora es más popular que Hadoop MapReduce.
Referencia: https://www.xplenty.com/blog/apache-spark-vs-hadoop-mapreduce/