Teniendo en cuenta que cada vez que hay una tarea Map se crea un objeto de tipo mapper (o lo mismo con el reducer). Estos métodos se van a ejecutar antes o después de que todas las tareas map o reduce se hayan ejecutado, y sólo una vez.
setup()
Este método se ejecuta antes de que el método map y/o reduce (según en qué clase se haya implementado) sean llamados por primera vez.
Se usa para ejecutar código antes de que el Mapper o Reducer se ejecuten.
Se suele utilizar para leer datos de ficheros, inicializar estructuras, establecer parámetros, etc.
public class MyClass extends Mapper<Type, Type, Type, Type> {
protected void setup(Context context)
throws IOException, InterruptedException{
// TODO: Implementar código necesario
}
public void map(Type key, Type values, Context context) {...}
}
cleanup()
Es como el setup, pero se ejecuta antes de que el Mapper o el Reduccer finalicen.
public class MyClass extends Mapper<Type, Type, Type, Type> {
public void map(Type key, Type values, Context context) {...}
protected void cleanup(Context context)
throws IOException, InterruptedException{
// TODO: Implementar código necesario
}
}
Estos son los métodos utilizados en la new API, en la old API los métodos se llamaban configure() y close()