Skip to content

Examen de MapReduce

Este examen consta de 5 preguntas prácticas. Para cada pregunta, se describe un conjunto de datos CSV y se solicita el diseño de un Mapper y un Reducer que realicen cálculos específicos.


Pregunta 1: Índice de Confort Ambiental (IoT)

Section titled “Pregunta 1: Índice de Confort Ambiental (IoT)”

Contexto: Disponemos de sensores IoT en diferentes salas de un edificio que registran la temperatura y la humedad cada hora.

Formato CSV (sensores.csv): id_dispositivo, timestamp, piso, id_sala, temperatura_c, humedad_relativa, estado_bateria, co2_level, ocupacion_sala, fecha_instalacion

Tarea: Desarrollar un proceso MapReduce que calcule el índice de calor medio por sala. El índice de calor (IC) de cada registro se calcula mediante la fórmula: IC = temperatura_c + (0.55 * humedad_relativa).


Pregunta 2: Consumo Eléctrico de Fábrica por Turnos

Section titled “Pregunta 2: Consumo Eléctrico de Fábrica por Turnos”

Contexto: Una fábrica monitoriza el consumo eléctrico (en KW) de sus máquinas en distintos turnos.

Formato CSV (consumo.csv): id_maquina, modelo_maquina, fecha, responsable_turno, turno, planta_fabrica, consumo_kw, voltaje_medio, vibracion_id, tiempo_activa_min (Turnos: M - Mañana, T - Tarde, N - Noche)

Tarea: Diseñar un programa MapReduce que obtenga el consumo total acumulado por cada turno. Se deben ignorar los registros con un consumo superior a 500 KW, ya que se consideran errores de medición.


Contexto: Un sistema de gestión de una tienda de electrónica tiene datos sobre el stock y el precio de los productos por categorías.

Formato CSV (inventario.csv): id_producto, sku_barras, categoria, subcategoria, proveedor, stock_disponible, stock_minimo, precio_unidad, precio_coste, pasillo_almacen

Tarea: Implementar una solución MapReduce que devuelva el valor total del inventario para cada categoría. El valor de cada producto se calcula multiplicando su stock disponible por su precio unitario.


Pregunta 4: Estadísticas de Streaming de Video

Section titled “Pregunta 4: Estadísticas de Streaming de Video”

Contexto: Una plataforma de video registra cuánto tiempo ven los usuarios cada video.

Formato CSV (streaming.csv): usuario_id, pais_usuario, video_id, categoria_video, duracion_total_seg, segundos_vistos, dispositivo, calidad_video, bitrate_medio, buffer_count

Tarea: Crear un proceso MapReduce que determine el porcentaje medio de visualización por usuario. El porcentaje de visualización de un video se obtiene como (segundos_vistos / duracion_total_seg) * 100.


Pregunta 5: Puntuación de Usuarios (Sistema de Gamificación)

Section titled “Pregunta 5: Puntuación de Usuarios (Sistema de Gamificación)”

Contexto: Un foro otorga puntos a los usuarios según sus acciones.

Formato CSV (acciones.csv): usuario, email_anonimo, ip_acceso, fecha_registro, accion, categoria_accion, puntos_base, es_moderador, reputacion_previa, num_reportes_recibidos (Acciones: “post”, “like”, “report”, etc. es_moderador es 0 o 1)

Tarea: Realizar un script MapReduce que calcule la puntuación total acumulada por cada usuario. Es importante tener en cuenta que si el usuario es moderador (es_moderador = 1), los puntos de sus acciones valen el doble.