Foro Formación Hadoop
Ejercicio WritableComparable
Buenos días,
Estoy con el ejercicio de implementar un WritableComparable donde el Reducer recibe un StringPairWritable como clave.
En la solución viene efectivamente que el Mapper hace un write en context del StringPair y un LongWritable como valor.
En el driver también viene que la clave de salida del Reducer es StringPairWritable.class (job.setOutputKeyClass(StringPairWritable.class)).
Mi cuestión es la siguiente puesto que no lo he visto en el archivo del driver: ¿en el código del Driver no se debería especificar las clases de la clave y valores de salida?:
job.setMapOutputKeyClass(StringPairWritable.class);
job.setMapOutputValueClass(LongWritable.class);
Saludos,
Antonio Baena
Buenas tardes Antonio Jesús,
Cuando nos encontramos con una aplicación MapReduce que tiene como salida del Map los mismos tipos que la salida del Reducer se puede omitir la definición de los tipos de salida Map (MapOutputKeyClass y MapOutputValueClass).
Ese sería nuestro caso, ya que como salida del Map tenemos key=StringPairWritable y value=LongWritable y como salida del Reducer lo mismo.
En el caso de que los tipos fueran diferentes, sería obligatorio definir ambos tipos.
Un saludo,
Redes sociales