Czy metody instalacji i czyszczenia są wywoływane w każdym zadaniu mapera i reduktora? A może są one wywoływane tylko raz na początku prac nad maperem i reduktorem?Metody instalacji i czyszczenia Mappera/Reducera w Hadoop MapReduce
Odpowiedz
Są one wywoływane dla każdego zadania, więc jeśli masz 20 programistów, uruchomione zostanie ustawienie/czyszczenie dla każdego z nich.
Jedna gotcha jest standardową metodą uruchamiania zarówno Mapper, jak i Reducer nie przechwytuje wyjątków w obrębie metody map/reduce - tak więc w przypadku wyrzucenia wyjątku w tych metodach metoda czyszczenia nie zostanie wywołana.
Jedno wyjaśnienie jest pomocne. Metody instalacji/czyszczenia są używane do inicjowania i czyszczenia na poziomie zadań. W ramach zadania pierwsza inicjalizacja odbywa się za pomocą pojedynczego wywołania metody setup(), a następnie zostaną wykonane wszystkie wywołania funkcji map() [lub zmniejszenia()]. Następnie kolejne wywołanie metody cleanup() zostanie zakończone przed zakończeniem zadania.
Nazywa się to zadaniem Zendera 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);
}
}
Według konfiguracji i czyszczenia mapreduce documentation nazywane są dla każdego Mapper i zadań redukcyjnych.
na reduktorze, który można wykonać w pracy, wykonaj zadanie job.setNumReduceTasks (1); w ten sposób ustawienie i oczyszczanie reduktora zostanie uruchomione tylko raz.
- 1. Hadoop MapReduce: Kierowca łańcuchowym mappers w pracy MapReduce
- 2. Hadoop MapReduce plików Multiple Input
- 3. Chaining Wielu Redukcje w pracy Hadoop MapReduce
- 4. Hadoop MapReduce: Możliwe zdefiniowanie dwóch maperów i reduktorów w jednej klasie zadań hadoop?
- 5. Jak debugować hadoop mapreduce zadania od Eclipse?
- 6. Rozproszony algorytm współczynnika lokalnego skupiania (MapReduce/Hadoop)
- 7. Hadoop: Jak działa OutputCollector podczas MapReduce?
- 8. Znajdowanie połączonych komponentów przy użyciu Hadoop/MapReduce
- 9. Łańcuchowanie Hadoop MapReduce z potokami (C++)
- 10. Hadoop komunikat o błędzie instalacji
- 11. Dane transmisyjne i Hadoop? (nie Hadoop Streaming)
- 12. Błąd instalacji Hadoop z homebrew
- 13. MapReduce i SQL GROUP BY
- 14. MapReduce alternatives
- 15. Nie można znaleźć lub wczytać głównej klasy com.sun.tools.javac.Main hadoop mapreduce
- 16. Nie można uruchomić zadania MapReduce na hadoop 2.4.0
- 17. Hadoop MapReduce zapewnić zagnieżdżonych katalogów jako wkład pracy
- 18. R + Hadoop: Jak odczytać plik CSV z HDFS i wykonać mapreduce?
- 19. Zależności Mavena dla Hadoop: MiniDFSCluster i MiniMRCluster
- 20. Wykonanie zadań spekulacyjnych Hadoop
- 21. W praktyce, ile maszyn potrzeba, aby Hadoop/MapReduce/Mahout przyspieszyło obliczenia, które można zrównoleglić?
- 22. Hadoop i Stata
- 23. Czy w Hadoop MapReduce można mieć wiele wejść z wieloma różnymi mapami?
- 24. Uruchamianie skryptu podczas czyszczenia/czyszczenia wszystkiego w Xcode
- 25. Praca RecordReadera w Hadoop
- 26. Łatwe metody instalacji i dostępu do biblioteki GDAL?
- 27. Dostępne reduktory w elastycznej MapReduce
- 28. Hadoop 0.20.2 Wtyczka Eclipse nie w pełni działa - nie można "uruchomić na Hadoop"
- 29. MapReduce w MongoDB nie wypuszcza
- 30. Różnice między istniejącymi MapReduce i YARN (MRv2)
Zawsze można wywołać metodę czyszczenia w klauzuli catch wyjątku na mapie/zmniejsz. Wymaga to jednak inteligentnej analizy możliwych wyjątków i umieszczenia w nich klauzul "próbuj/złap", aby je złapać. – abhinavkulkarni