metody konfiguracji i czyszczenia Mapper / Reducer w Hadoop MapReduce

Czy metody setup I cleanup są wywoływane odpowiednio w zadaniach mapper i reducer? Czy są one wywoływane tylko raz na początku ogólnych zadań mapper i reducer?

Author: kee, 2012-06-05

5 answers

Są wywoływane dla każdego zadania, więc jeśli masz uruchomionych 20 maperów, zostanie wywołana konfiguracja / oczyszczanie dla każdego z nich.

Standardową metodą run zarówno dla Mapera, jak i reduktora nie jest wyłapywanie WYJĄTKÓW wokół metod map / reduce - więc jeśli w tych metodach zostanie wrzucony wyjątek, metoda clean up nie zostanie wywołana.

 21
Author: Chris White,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-05 01:01:29

Jedno wyjaśnienie jest pomocne. Metody setup / cleanup są używane do inicjalizacji i czyszczenia na poziomie zadania. W ramach zadania pierwsza inicjalizacja odbywa się za pomocą jednego wywołania metody setup (), a następnie wszystkie wywołania funkcji map() [lub reduce()] zostaną wykonane. Następnie zostanie wykonane kolejne pojedyncze wywołanie metody cleanup () przed zakończeniem zadania.

 5
Author: user3163904,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-06 01:39:43

Nazywa się to zadaniem per Mapper lub zadaniem reduktora. Oto kod hadoop.

public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    try {
      while (context.nextKey()) {
        reduce(context.getCurrentKey(), context.getValues(), context);
      }
    } finally {
      cleanup(context);
    }
  }
 3
Author: KaiZhao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-15 14:59:12

Zgodnie z dokumentacją mapreduce konfiguracja i czyszczenie są wywoływane dla każdego zadania Mapera i reduktora.

 1
Author: Dheeraj Verma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-19 10:39:42

Na reduktorze możesz w pracy wykonać zadanie.setNumReduceTasks(1); i w ten sposób konfiguracja i czyszczenie reduktora zostanie uruchomione tylko raz.

 1
Author: Astronaut,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-21 23:22:30