Fundamentos de MapReduce

Páginas: 10 (2336 palabras) Publicado: 1 de enero de 2015
FUNDAMENTOS DE MapReduce

Que es MapReduce?

MapReduce es un framework que proporciona un sistema de
procesamiento de datos paralelo y distribuido. Su nombre se debe
a las funciones principales que son Map y Reduce, las cuales
explicaremos a continuación. MapReduce está pensado para la
solución práctica de algunos problemas que pueden ser
paralelizados, pero se ha de tener en cuenta queno todos los
problemas pueden resolverse eficientemente con MapReduce.
MapReduce está orientado a resolver problemas con conjuntos de
datos de gran tamaño, por lo que utiliza el
sistema de archivos distribuido HDFS.
El Framework MapReduce tiene una arquitectura maestro /
esclavo. Cuenta con un servidor maestro o JobTracker y varios
servidores esclavos o TaskTrackers, uno por cada nodo delclúster.
El JobTracker es el punto de interacción entre los usuarios y el
framework MapReduce. Los usuarios envían trabajos MapReduce
al JobTracker, que los pone en una cola de trabajos pendientes y
los ejecuta en el orden de llegada. El JobTracker gestiona la
asignación de tareas y delega las tareas a los TaskTrackers. Los
TaskTrackers ejecutan tareas bajo la orden del JobTracker y
tambiénmanejan el movimiento de datos entre la fase Map y
Reduce.
Para ver las diferencias entre JobTracker y TaskTracker vamos a ver
las características de cada uno.

JobTracker
Capacidad para manejar metadatos de
trabajos
Estado de la petición del trabajo
Estado de las tareas que se ejecutan en
TaskTracker
Decide sobre la programación
Hay exactamente un JobTracker por cluster.
Recibepeticiones de tareas enviadas por el
cliente.
Programa y monitoriza los trabajos
MapReduce con TaskTrackers.
 
TaskTracker
Ejecuta las solicitudes de trabajo de
JobTrackers
Obtiene el código que se ejecutará
Aplica la configuración especifica del trabajo
Comunicación con el JobTracker:
Envíos de la salida, finalizar tareas,
actualización de tareas, etc.

En la Figura 1, vemos loscomponentes
principales del Framework, donde se aprecia
que las funciones de map son ejecutadas
por los TaskTrackers mientras que las
funciones de Reduce es ejecutada por el
JobTracker.

Figura 1: Framework MapReduce

Función Map( )

La función Map recibe como parámetros un par de (clave, valor) y
devuelve una lista de pares. Esta función se encarga del mapeo y
se aplica a cada elemento dela entrada de datos, por lo que se
obtendrá una lista de pares por cada llamada a la función Map.
Después se agrupan todos los pares con la misma clave de todas
las listas, creando un grupo por cada una de las diferentes claves
generadas. No hay requisito de que el tipo de datos para la
entrada coincida con la salida y no es necesario que las claves de
salida sean únicas.
Map (clave1,valor1) –> lista (clave2, valor2)
La operación de Map se paraleliza, el conjunto de archivos de
entrada se divide en varias tareas llamado FileSplit, ver Figura 2, el
tamaño típico de bloque es de 128MB. Las tareas se distribuyen a
los nodos TaskTrackers, y estos a su vez pueden realizar la misma
tarea si hiciera falta.

Figura 2: Operación Split

Función Reduce( )

Figura 3:Funcionamiento de MapReduce

La función Reduce se aplica en paralelo para cada grupo creado
por la función Map().La función Reduce se llama una vez para cada
clave única de la salida de la función Map. Junto con esta clave, se
pasa una lista de todos los valores asociados con la clave para que
pueda realizar alguna fusión para producir un conjunto más
pequeño de los valores.
Reduce (clave2,lista(valor2)) –> lista(valor2)
En la Figura 3 podemos ver que forma gráfica como funcionaría el
proceso global de MapReduce.
Cuando se inicia la tarea reduce, la entrada se encuentra dispersa
en varios archivos a través de los nodos en las tareas de Map. Los
datos obtenidos de la fase Map se ordenan para que los pares
clave-valor sean contiguos (fase de ordenación, sort fase), esto
hace que la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • MapReduce
  • Fundamentos
  • Fundamentos
  • Fundamento
  • Fundamentos
  • Fundamentos
  • fundamentos
  • Fundamentos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS