Ejemplo: Una empresade transporte
público podría utilizar Hadoop para
almacenar en su sistema los registros
históricos de viajes y boletos,
mientras que Spark procesaría esa
información en tiempo real para
mostrar datos actuales de movilidad.
QUEESHADOOPYSpark?
HADOOP
Es un framework de código abierto desarrollado por
Apache, diseñado para el almacenamiento y
procesamiento de grandes volúmenes de datos. Su
motor principal es MapReduce, que divide las tareas en
etapas de map (procesamiento) y reduce (agregación).
Hadoop fue clave en el inicio del Big Data porque
permitió distribuir datos en un clúster y procesarlos
en paralelo, usando servidores comunes
SPARK
Es un motor de procesamiento distribuido
considerado la evolución de Hadoop MapReduce. Su
principal ventaja es que trabaja en memoria (in-
memory computing), lo que lo hace mucho más rápido
y flexible. Permite ejecutar no solo tareas batch, sino
también procesamiento en tiempo real, machine
learning y análisis interactivo.
3.
Arquitectura
Ejemplo: En unsistema de transporte, Hadoop HDFS puede almacenar los datos históricos de los viajes,
mientras que Spark accedería a esos mismos datos para calcular de manera rápida las rutas más eficientes en
memoria RAM.
HADOOP
HDFS: almacena archivos divididos en bloques
distribuidos en DataNodes; NameNode mantiene el
namespace y metadatos. Replicación para tolerancia a
fallos.
MapReduce: Motor de procesamiento por lotes que
sigue dos fases: map (filtra y organiza datos) y reduce
(los agrupa y resume). Es robusto, pero lento porque
guarda resultados intermedios en disco.
YARN (Yet Another Resource Negotiator): Separa la
gestión de recursos (ResourceManager) de la
coordinación de tareas (ApplicationMaster), permitiendo
que distintos motores (MapReduce, Spark, etc.) trabajen
sobre Hadoop.
SPARK
RDD (Resilient Distributed Dataset): Estructura de
datos distribuida y tolerante a fallos que permite el
procesamiento en memoria y facilita operaciones
paralelas.
DAG Scheduler y Task Scheduler: Convierte las
operaciones en un grafo acíclico dirigido (DAG) y lo
divide en tareas que se distribuyen entre los nodos del
clúster.
Cluster Manager: Spark no tiene uno propio, pero se
integra con YARN, Mesos o Kubernetes para la gestión
de recursos.
Almacenamiento: No tiene su propio sistema de
archivos, pero se integra con HDFS, Amazon S3, HBase,
Cassandra u otros.
Procesamiento: Ejecuta tareas en memoria, evitando
escrituras innecesarias en disco y logrando mayor
velocidad frente a Hadoop MapReduce.
4.
El procesamiento enHadoop es más lento
debido a que MapReduce guarda en disco
los resultados intermedios en cada
operación. Spark, al trabajar en memoria,
puede ser hasta 100 veces más rápido en
RAM y unas 10 veces más rápido en disco
comparado con Hadoop.
Velocidad
5.
Facilidaddeuso
La programación enHadoop suele ser más
compleja, ya que requiere algoritmos en
MapReduce, principalmente en Java. Spark
ofrece mayor facilidad de uso al disponer de
APIs en diversos lenguajes como Python,
Java,SQL, lo que permite que no solo
ingenieros, sino también analistas y científicos
de datos lo utilicen de forma más sencilla.
6.
Tiposde
procesamiento
Hadoop soporta principalmenteel
procesamiento por lotes (batch), mientras
que para streaming y análisis en tiempo real
necesita complementarse con herramientas
externas como Storm. Machine learning
utiliza librerías externas como Mahout.
Spark, en cambio, soporta de forma nativa
tanto el procesamiento por lotes como el
tiempo real incluye librerías para machine
learning, consultas en SQL y análisis de
grafos.
7.
EJEMPLOS:
VELOCIDAD
Si se deseacalcular el
tiempo promedio de
viaje de todos los
buses durante el
último mes, Hadoop
tardaría horas en
obtener la
información, mientras
que Spark podría
entregarla en minutos.
Con Hadoop se podrían
generar reportes
mensuales de
puntualidad de buses,
con Spark Streaming los
pasajeros pueden ver en
vivo la ubicación de su
bus en la aplicación.
Además, con MLlib, Spark
puede predecir la hora
estimada de llegada
según el tráfico y la
velocidad.
Business
En el caso de un
sistema de transporte,
un analista sin
conocimientos de
programación podría
usar Spark SQL en
Python para consultar
datos de puntualidad
de buses, lo cual sería
mucho más complicado
con MapReduce en
Hadoop.
FACILIDAD DE
USO
TIPOS DE
PROCESAMIENTO
8.
Hadoop se adaptamejor a
entornos donde los volúmenes de
datos superan la capacidad de la
memoria, ya que su procesamiento
se basa principalmente en disco.
Esto lo hace más eficiente en
términos de uso de RAM, pero con
un mayor consumo de CPU y
almacenamiento.
Spark, en cambio, destaca por su
velocidad gracias al procesamiento
en memoria, pero esta ventaja
exige una mayor cantidad de
recursos en RAM, lo que puede
incrementar los costos de
infraestructura cuando los
volúmenes de datos son muy
grandes.
Escalabilidadyconsumoderecursos
Tanto Hadoop como Spark son altamente escalables, aunque lo logran de formas distintas.
Tanto Hadoop como Spark son altamente escalables, aunque lo logran de formas distintas.
Ejemplo aplicado al transporte público:
Si se requiere analizar décadas de información histórica sobre rutas y boletos, Hadoop es más conveniente
porque maneja grandes volúmenes sin depender fuertemente de la memoria. En cambio, si lo que se busca
es procesar únicamente los viajes de la última semana para detectar patrones recientes, Spark resulta más
eficiente al trabajar directamente en memoria.
Ejemplo aplicado al transporte público:
Si se requiere analizar décadas de información histórica sobre rutas y boletos, Hadoop es más conveniente
porque maneja grandes volúmenes sin depender fuertemente de la memoria. En cambio, si lo que se busca
es procesar únicamente los viajes de la última semana para detectar patrones recientes, Spark resulta más
eficiente al trabajar directamente en memoria.
9.
Casosdeusogenerales
Hadoop se utilizaprincipalmente en la construcción de data
lakes, almacenamiento masivo de información, procesamiento
batch de datos históricos y generación de reportes extensivos.
Spark es ideal para análisis en tiempo real, aplicaciones de
inteligencia artificial y machine learning, procesamiento de grafos
y consultas interactivas sobre grandes volúmenes de datos.
Ejemplo aplicado al transporte público:
Hadoop puede almacenar en HDFS todo el historial de rutas y boletos de la ciudad,
asegurando que la información esté disponible para análisis a largo plazo. Spark,
por su parte, puede procesar en tiempo real los datos de GPS de los buses,
permitiendo mostrar en una aplicación móvil la ubicación exacta de cada unidad y
predecir retrasos por tráfico.
10.
La diferencia esencialentre Hadoop y Spark está
en su enfoque de procesamiento:
Hadoop es más adecuado para
almacenamiento y análisis histórico a gran
escala.
Spark destaca en escenarios que requieren
procesamiento rápido en memoria, análisis en
tiempo real y aplicaciones interactivas.
Sin embargo, ambas tecnologías son
complementarias y no excluyentes: Hadoop puede
funcionar como la base de almacenamiento y
gestión de datos masivos, mientras que Spark
potencia el análisis ágil, predictivo y en tiempo real
sobre esos mismos datos.
Conclusion