MISIÓN 2 · Lección 1

Introducción a Hadoop y su Ecosistema

En esta lección conoceremos Hadoop, una de las tecnologías más importantes en el mundo del Big Data. Hadoop permite almacenar y procesar grandes volúmenes de datos de manera distribuida y tolerante a fallos.

¿Qué es Hadoop?

Hadoop es un marco de software de código abierto que facilita el procesamiento distribuido de grandes conjuntos de datos a través de clusters de servidores.

Componentes principales

Arquitectura de Hadoop

Ejemplo de flujo MapReduce

  1. Input: colección de documentos de texto.
  2. Map: cada nodo cuenta las palabras en sus documentos.
  3. Shuffle: reorganiza los resultados por palabra.
  4. Reduce: suma las ocurrencias de cada palabra.
  5. Output: listado de palabras con sus frecuencias.

Ejemplo práctico: WordCount en Hadoop Streaming

# Ejecutar un conteo de palabras
hadoop jar /path/hadoop-streaming.jar \
  -input /data/textos \
  -output /salida/wordcount \
  -mapper "python mapper.py" \
  -reducer "python reducer.py"

Mapper en Python

# mapper.py
import sys
for line in sys.stdin:
    for word in line.strip().split():
        print(f"{word}\t1")

Reducer en Python

# reducer.py
import sys
from collections import defaultdict

counts = defaultdict(int)
for line in sys.stdin:
    word, value = line.strip().split("\t")
    counts[word] += int(value)

for word, count in counts.items():
    print(f"{word}\t{count}")

Ventajas y limitaciones de Hadoop

Reflexión final

Hadoop revolucionó la forma de manejar grandes volúmenes de datos. Aunque hoy convive con tecnologías más rápidas como Spark, sigue siendo la base para entender el Big Data distribuido.