Foro Formación Hadoop

Dudas MapReduce - Módulo 1 Capítulo 3

 
Imagen de Alexandre Pereiras
Dudas MapReduce - Módulo 1 Capítulo 3
de Alexandre Pereiras - sábado, 6 de mayo de 2017, 23:23
 

Hola,

Tengo un par de dudas respecto a este capítulo:

1) En los materiales dice, en la página 12: "Nuestro ejemplo es pequeño [...], dividido en 2 bloques. Cuando ejecutamos un job Hadoop, Hadoop se ejecutará tres tareas Map, uno por cada bloque". Entiendo que, o bien debería decir "dividido en 3 bloques" o bien "Hadoop ejecutará dos tareas Map". Utilizando el ejemplo propuesto en el material, entiendo que la primera opción es la correcta, no (3 bloques)?

2) En el vídeo habla de que se pueden configurar el número de reducers y qué pares clave/valor van a cada reducer. Se habla de que por defecto utiliza Hash. Adelántandome a los materiales, ¿qué otras posibilidades hay para indicar qué información va a cada reducer?

3) Una vez que el proceso MapReduce finaliza, si tenemos X reducers el proceso nos proporcionará X ouputs (part-r-xxxx). Sin tener en cuenta el escenario de un único reducer, ¿es posible indicarle a MapReduce que nos genere la salida en un único fichero en lugar de X en base al número de reducers? Nuestra entrada es un fichero, pero la salida son más, y esto produce que tengamos que gestionar esta casuística y hacer un "merge" de toda la información. 

 

Seguro que me estoy adelantando de nuevo a lo que en breve veré.... :-)

Saludos y gracias por adelantado

 

Imagen de Admin Formación Hadoop
Re: Dudas MapReduce - Módulo 1 Capítulo 3
de Admin Formación Hadoop - sábado, 6 de mayo de 2017, 23:46
 

Hola Alexandre,

Te contesto a continuación,

1). Si, es un error en al documentación. Por defecto se ejecutan tantas tareas map como bloques tenga el fichero almacenado en el HDFS (debido al formato de entrada, TextInputFormat por defecto).

2). Para poder definir que "keys" van a cada reducer tendrás que implementar un Partitioner (que es la pieza encargada de definir esto). Por defecto utiliza el HashPartitioner. En los capítulos posteriores verás como definir tu propio Partitioner.

3). El número de ficheros de salida se va a corresponder con el número de Reducers. No es posible tener por ejemplo 5 Reducers y generar un único fichero de salida. La relación siempre va a ser nºreducers = número de ficheros de salida.

Un saludo,

Imagen de Alexandre Pereiras
Re: Dudas MapReduce - Módulo 1 Capítulo 3
de Alexandre Pereiras - domingo, 7 de mayo de 2017, 19:00
 

Muchas gracias!