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()