Методы настройки и очистки Mapper/Reducer в Hadoop MapReduce - программирование
Подтвердить что ты не робот

Методы настройки и очистки Mapper/Reducer в Hadoop MapReduce

Используются ли методы настройки и очистки в каждом задании картографа и редуктора? Или они называются только один раз в начале работы с картой и редуктором?

4b9b3361

Ответ 1

Они вызываются для каждой задачи, поэтому, если у вас 20 запущенных mappers, для каждого будет вызываться настройка/очистка.

Один из методов gette - стандартный метод запуска как для Mapper, так и для Reducer не исключает исключения вокруг методов map/reduce - поэтому, если в этих методах выбрано исключение, метод очистки не будет вызываться.

Ответ 2

Одно пояснение полезно. Методы настройки/очистки используются для инициализации и очистки на уровне задачи. В рамках задачи первая инициализация происходит с помощью одного вызова метода setup(), а затем все вызовы функции map() [или reduce()] будут выполнены. После этого еще один вызов будет выполнен для метода cleanup() перед выходом из задачи.

Ответ 3

Он вызывает задачу Mapper или задачу Reducer. Вот код hadoop.

public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    try {
      while (context.nextKey()) {
        reduce(context.getCurrentKey(), context.getValues(), context);
      }
    } finally {
      cleanup(context);
    }
  }

Ответ 4

Согласно документации mapreduce настройка и очистка вызывается для каждой задачи Mapper и Reducer.

Ответ 5

на редукторе вы можете на рабочем месте выполнить job.setNumReduceTasks(1); и таким образом установка и очистка редуктора будут выполняться только один раз.