Almacenamiento y ecosistema de datos

M01 · Introducción a Hadoop y HDFS

Big Data Aplicado · CE IA y Big Data

Josep Garcia · 2026/2027

El problema de partida

Una empresa acumula registros de ventas y actividad durante años.

El histórico crece y calcular los totales diarios tarda demasiado.

¿Necesita una máquina mayor, repartir el trabajo o cambiar cómo guarda los datos?

Big Data y capacidad del sistema

El reto aparece cuando el volumen, la velocidad de llegada o la diversidad de los datos dificultan su tratamiento con los recursos disponibles.

No existe una cifra universal de gigabytes que obligue a usar Hadoop.

El sistema debe almacenar los datos y procesarlos dentro del tiempo que necesita el caso de uso.

Escalabilidad vertical y horizontal

Estrategia Cambio Condición
Vertical Más CPU, RAM o disco en un equipo Depende de sus límites y coste
Horizontal Más equipos que colaboran Requiere distribuir datos y trabajo

Un clúster es un conjunto de nodos que cooperan para prestar un servicio o ejecutar tareas.

Paralelismo y tiempo de ejecución

Repartir una tarea puede reducir su duración si las partes pueden trabajar en paralelo.

El tiempo también incluye coordinación, transferencia de datos y combinación de resultados.

Una tarea que tarda 10 minutos en un nodo no tiene por qué tardar 1 minuto en diez nodos.

Componentes de Hadoop

Componente Responsabilidad
Hadoop Common Bibliotecas y utilidades compartidas
HDFS Almacenamiento distribuido de archivos
YARN Asignación de recursos a aplicaciones
MapReduce Procesamiento por lotes mediante tareas

Hive y Spark pertenecen al ecosistema y aportan otras formas de trabajar con los datos.

Almacenamiento, recursos y procesamiento

Pregunta Componente
¿Dónde están los archivos y sus bloques? HDFS
¿Qué aplicación recibe CPU y memoria? YARN
¿Cómo se transforma y agrupa la entrada? MapReduce
¿Cómo expreso una consulta analítica en SQL? Hive

Un DataNode guarda bloques. Un NodeManager administra recursos de ejecución. Pueden compartir máquina y mantienen funciones distintas.

Patrones de acceso y elección de sistema

Necesidad Encaje inicial
Recorrer archivos grandes para obtener agregados HDFS y un motor de procesamiento
Actualizar filas y resolver consultas puntuales Base de datos como PostgreSQL
Compartir archivos entre motores independientes Almacenamiento de objetos S3/MinIO

La elección depende de cómo se escriben y consultan los datos.

HDFS y archivos grandes

HDFS divide un archivo en bloques y distribuye sus copias entre DataNodes.

Su diseño favorece lecturas de gran caudal y archivos que se escriben para leerse muchas veces.

Las actualizaciones arbitrarias dentro de un archivo y las peticiones de muy baja latencia no son su patrón principal.

NameNode, DataNode y cliente

Participante Función
NameNode Mantiene nombres, permisos y ubicaciones de bloques
DataNode Guarda bloques y atiende lecturas y escrituras
Cliente HDFS Consulta ubicaciones y transfiere datos

Los bytes de usuario circulan entre el cliente y los DataNodes.

Lectura de un archivo

  1. El cliente pide al NameNode las ubicaciones de sus bloques.
  2. El NameNode devuelve las ubicaciones disponibles.
  3. El cliente obtiene los bytes directamente de los DataNodes.
  4. Si una réplica falla, el cliente puede intentar otra disponible.

¿Qué componente conoce la ruta del archivo y cuál conserva sus bytes?

Bloques y replicación

Archivo lógico de 300 MiB con bloques de hasta 128 MiB y factor de replicación 3.

Bloque DataNode A DataNode B DataNode C
1 128 MiB 128 MiB 128 MiB
2 128 MiB 128 MiB 128 MiB
3 44 MiB 44 MiB 44 MiB

Cada fila representa un bloque lógico y sus tres copias.

Tamaño lógico y espacio replicado

Magnitud Ejemplo
Tamaño del archivo 300 MiB
Bloques lógicos 3
Copias de bloques con réplica 3 9
Datos replicados, sin otras sobrecargas Aproximadamente 900 MiB

El último bloque contiene 44 MiB. No reserva 128 MiB de datos útiles.

Fallos y límites de la replicación

Situación Alcance de la protección
Cae un DataNode Otra copia disponible puede atender la lectura
Cae el único NameNode Hace falta recuperar el servicio de metadatos
Se borra un archivo en HDFS El borrado afecta a sus réplicas
Falla el portátil del laboratorio Caen los contenedores que dependen de él

La réplica conserva copias disponibles. Las copias externas cubren otros riesgos.

Secondary NameNode y checkpoints

El NameNode registra el espacio de nombres en fsimage y los cambios recientes en edits.

El Secondary NameNode consolida ambos en un checkpoint de metadatos.

La sustitución automática de un NameNode requiere una arquitectura de alta disponibilidad con servicios activos y en espera.

Integridad de bytes y calidad del contenido

Un archivo puede conservar exactamente sus bytes y contener un precio incorrecto.

Mecanismo Qué aporta
Checksum Detección de corrupción de bytes
Replicación Copias de bloques para mantener disponibilidad
Snapshot Vista de un estado anterior del directorio
Regla de calidad Validación del significado de los datos

Local, pseudodistribuido y distribuido

Modo Hadoop Ejecución Almacenamiento
Local Un trabajo en una JVM Archivos locales
Pseudodistribuido Demonios separados en una máquina HDFS
Distribuido Servicios repartidos entre nodos HDFS distribuido

Una JVM ejecuta Java. Un contenedor aísla procesos. Un nodo lógico puede compartir equipo físico con otros nodos.

Progresión del laboratorio

Etapa Qué construiremos Qué observaremos
Instalación manual HDFS pseudodistribuido en un contenedor Cuenta, XML, SSH interno y procesos
Dockerfile Imagen propia y volumen persistente Arranque directo, operaciones y conservación
Varios servicios Tres DataNodes y servicios YARN Réplicas, tareas y fallo de un trabajador

Hadoop 3.4.1 y Java 11 en este laboratorio.

MapReduce y procesamiento por lotes

  1. Map: transforma registros en pares de clave y valor.
  2. Shuffle y ordenación: reúne los valores de cada clave.
  3. Reduce: calcula un resultado por grupo.

Ejemplo: obtener el total de ventas de cada categoría.

YARN asigna recursos para ejecutar la aplicación. MapReduce define cómo se procesa la entrada.

Spark en el recorrido del curso

Spark es un motor de procesamiento con operaciones que pueden combinar varias etapas y reutilizar datos en memoria cuando resulta adecuado.

Puede trabajar con HDFS y ejecutarse con distintos gestores de clúster.

En M03 trabajaremos DataFrames, Spark SQL y Structured Streaming.

Formatos, objetos y tablas analíticas

Concepto Ejemplo Función
Formato de archivo Parquet Organiza los datos dentro del archivo
Almacenamiento de objetos S3/MinIO Guarda objetos mediante claves
Data lake Histórico organizado Reúne datos para distintos usos
Formato de tabla Iceberg Añade metadatos y snapshots de tabla

Un lakehouse combina almacenamiento de un data lake con gestión de tablas analíticas.

PostgreSQL y Hive

PostgreSQL Hive
Base de datos relacional Capa SQL analítica sobre archivos
Transacciones y restricciones Esquemas y ubicaciones en un metastore
Consultas y actualizaciones de filas Consultas sobre históricos y particiones

Con viajes reales de Nueva York, compararemos una consulta por zona antes y después de indexarla y un informe diario de toda la ciudad.

Recorrido de M01

  1. Hadoop, arquitectura e instalación manual de HDFS
  2. Operaciones, permisos e integridad
  3. YARN y ejecución de trabajos MapReduce
  4. Formatos, objetos y lakehouse
  5. PostgreSQL y Hive
  6. Decisión de almacenamiento reutilizable en M02

24 horas curriculares · 20 sesiones presenciales previstas

Proyecto

Al terminar M01 documentaremos una decisión de almacenamiento para el histórico de criptomonedas.

La propuesta justificará formatos, organización y capas según los patrones de acceso.

Las evidencias de las prácticas permitirán continuar con la ingesta de M02 y el procesamiento de M03.

Preguntas para conectar ideas

  1. ¿Qué función cumplen HDFS, YARN y MapReduce?
  2. ¿Por dónde circulan los bytes cuando un cliente lee un archivo?
  3. ¿Qué riesgo permanece con tres DataNodes en un portátil?
  4. ¿Qué necesitas saber antes de elegir dónde guardar un histórico?

Decisiones de almacenamiento

El patrón de acceso orienta la elección del sistema.

Hadoop permite estudiar cómo se reparten datos, recursos y tareas, y qué ocurre cuando falla una parte del sistema.

NOTAS DOCENTE: Presentación de apertura del módulo. La explicación detallada y los comandos están en los ocho bloques de M01. Recuperar rutas, permisos, usuarios y contenedores trabajados en M00.

NOTAS DOCENTE: Recoger hipótesis. No hay una solución automática: antes de elegir tecnología debemos identificar tamaño, frecuencia de llegada, patrón de consulta y tiempo de respuesta necesario.

NOTAS DOCENTE: Evitar la equivalencia Big Data = Hadoop. Una base de datos relacional o un único equipo pueden resolver muchos casos si el diseño y los recursos son adecuados.

NOTAS DOCENTE: Commodity hardware significa equipos de propósito general, no una garantía de precio bajo. La red, operación y redundancia también cuestan.

NOTAS DOCENTE: Ejemplo oral: dividir un archivo entre diez trabajadores exige preparar las partes y reunir las respuestas. Una tarea pequeña puede tardar más al distribuirla. No presentar una estimación inventada como medición.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/ NOTAS DOCENTE: Separar claramente YARN y MapReduce. Hive es un proyecto del ecosistema, no uno de los cuatro módulos del núcleo de Hadoop.

FUENTES: https://hadoop.apache.org/docs/r3.4.1/ M01/03-yarn-y-ejecucion-de-jobs.md

FUENTES: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html M01/05-formatos-de-datos.md M01/06-postgresql.md NOTAS DOCENTE: Son patrones orientativos, no exclusividades ni garantías de rendimiento. Una solución puede combinar capas. Las comparaciones detalladas llegan durante M01.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html NOTAS DOCENTE: Definir caudal frente a latencia. HDFS admite append y truncate. Muchos archivos pequeños aumentan la carga de metadatos, aunque cada uno no reserve físicamente un bloque completo de 128 MiB.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html NOTAS DOCENTE: Evitar la pareja maestro/esclavo como explicación única. Usar los nombres y funciones concretas de los servicios.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html NOTAS DOCENTE: Respuesta oral: NameNode y DataNodes. Una lectura puede necesitar varios DataNodes si el archivo contiene varios bloques. Puede haber reintentos y esperas ante un fallo.

FUENTES: M01/01-hadoop-y-hdfs.md https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html NOTAS DOCENTE: La tabla muestra la colocación final de las copias, no los mensajes de escritura. El tamaño de bloque y la replicación son configurables. No hay tres archivos distintos en el espacio de nombres.

FUENTE: M01/01-hadoop-y-hdfs.md NOTAS DOCENTE: Mantener MiB y no mezclar con MB. El espacio lógico presenta un solo archivo. El coste real incluye también metadatos y otras sobrecargas.

FUENTES: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html M01/01-hadoop-y-hdfs.md NOTAS DOCENTE: Evitar afirmar disponibilidad permanente o recuperación inmediata. Una réplica debe seguir siendo accesible y válida. Un NameNode con alta disponibilidad necesita una arquitectura adicional.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html NOTAS DOCENTE: Recuperar la analogía del contable asistente de los apuntes. El Secondary NameNode no atiende clientes ni se convierte automáticamente en NameNode activo.

FUENTES: M01/02-operaciones-administracion-hdfs.md y M04.md NOTAS DOCENTE: M01 introduce integridad y recuperación. M04 desarrolla validación de esquema, nulos, duplicados y rangos. Un snapshot depende del mismo sistema de almacenamiento.

FUENTE: https://hadoop.apache.org/docs/r3.4.1/hadoop-project-dist/hadoop-common/SingleCluster.html NOTAS DOCENTE: No confundir el modo local de Hadoop con Spark Standalone, que es el nombre de un gestor de clúster de Spark. No desplegar aquí una cuarta práctica.

FUENTES: M01/01-hadoop-y-hdfs.md y PLANIFICACION/M01_DOCENTE.md NOTAS DOCENTE: Los contenedores comparten anfitrión y almacenamiento físico. La prueba demuestra distribución lógica y mecanismos, no capacidad añadida real ni alta disponibilidad física. SSH corresponde al arranque clásico de la primera práctica.

FUENTE: M01/04-mapreduce.md NOTAS DOCENTE: Explicación de apertura. El recorrido de claves, los scripts Python y la ejecución Hadoop Streaming se desarrollan en el bloque 04.

FUENTES: https://spark.apache.org/docs/4.0.2/ M01/04-mapreduce.md NOTAS DOCENTE: Spark no es MapReduce en tiempo real ni exige cargar todos los datos en RAM. El modo habitual de Structured Streaming es microbatch. No convertir esta comparación en una práctica adelantada de M03.

FUENTE: M01/05-formatos-de-datos.md NOTAS DOCENTE: MinIO por sí solo no proporciona transacciones de tabla. Iceberg necesita catálogo y motor compatible. En M01 lo comparamos conceptualmente. Su uso práctico queda para M03.

FUENTES: M01/06-postgresql.md y M01/07-hive.md NOTAS DOCENTE: PostgreSQL también realiza analítica. La tabla resume el papel asignado en este curso, no límites exclusivos de los productos. El laboratorio Hive actual ejecuta MapReduce local, no sobre YARN.

FUENTES: M01.md y PLANIFICACION/M01_DOCENTE.md NOTAS DOCENTE: Este recorrido agrupa los ocho documentos del módulo. No exige completar todo el banco de ejercicios ni convierte la diferencia horaria en deberes. Las actividades de clase son formativas salvo anuncio expreso de actividad calificable.

FUENTE: M01/08-proyecto-cripto.md NOTAS DOCENTE: M01-PROY-01 es un entregable acumulativo de transferencia. No obliga a desplegar todas las tecnologías ni sustituye al proyecto conjunto del 26/04 al 28/05/2027. Respetar el futuro contrato de M02.

NOTAS DOCENTE: Conversación formativa, sin calificación. Respuestas: almacenamiento/recursos/procesamiento; cliente y DataNodes; fallo común del anfitrión y posible NameNode único; tamaño, llegada, consultas, cambios, conservación y objetivos de servicio. No se añade un instrumento de evaluación ni una actividad con ID nuevo.

NOTAS DOCENTE: Volver al caso de ventas de la apertura. Pedir que expliquen qué datos faltan antes de decidir. Continuar con el bloque 01 y la instalación manual.