hadoop: różnica między reduktorem 0 a reduktorem tożsamości?

Próbuję tylko potwierdzić moje zrozumienie różnicy między reduktorem 0 a reduktorem tożsamości.

  • 0 reduktor oznacza, że krok redukcji zostanie pominięty, a wyjście mappera będzie ostatecznym wyjściem
  • reduktor tożsamości oznacza, że tasowanie / sortowanie nadal będzie miało miejsce?
Author: kee, 2012-05-17

4 answers

You understanding is correct. Zdefiniowałbym to następująco: Jeśli nie potrzebujesz sortowania wyników map-ustawiasz 0 zmniejszone, a zadanie nazywa się tylko map.
Jeśli chcesz sortować wyniki mapowania, ale nie potrzebujesz agregacji - wybierz identity reducer.
I aby uzupełnić obraz mamy trzeci przypadek: potrzebujemy agregacji, a w tym przypadku potrzebujemy reduktora.

 39
Author: David Gruzman,
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-05-17 08:35:08

Innym przypadkiem użycia reduktora tożsamości jest połączenie wszystkich wyników w pliki wyjściowe. Może to być przydatne, jeśli używasz Amazon Web Services do bezpośredniego zapisu do S3, zwłaszcza jeśli wyjście mapera jest małe (np. grep/wyszukiwanie rekordu) i masz dużo maperów (np. 1000).

 5
Author: Dolan Antenucci,
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-07-05 21:51:33

To zależy od twoich wymagań biznesowych. Jeśli robisz wordcount, powinieneś zmniejszyć wynik mapy, aby uzyskać całkowity wynik. Jeśli chcesz tylko zmienić słowa na wielkie litery, nie potrzebujesz redukcji.

 3
Author: nice2mu,
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-10-10 05:13:33

Główna różnica między "Bez reduktora" (mapred.zmniejsz.tasks=0) i "Standard reducer", który jest IdentityReducer (mapred.zmniejsz.tasks=1 etc) {[2] } jest, gdy używasz "No reducer", nie ma partycjonowania i tasowania procesów po etapie mapy. Dlatego w tym przypadku otrzymasz "czyste" wyjście od swoich maperów bez dalszego przetwarzania. Pomaga w rozwoju i debugowaniu poczwarek, ale nie tylko.

 3
Author: morsik,
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-11 07:06:53