MapReduce w Hadoop: fazy, wejścia i wyjścia, funkcje i zalety
Opublikowany: 2020-12-24Hadoop MapReduce to model programowania i platforma programowa służąca do pisania aplikacji przetwarzających duże ilości danych. W programie MapReduce istnieją dwie fazy, Map i Reduce.
Zadanie Map obejmuje podział i mapowanie danych poprzez pobranie zestawu danych i przekształcenie go w inny zestaw danych, w którym poszczególne elementy są dzielone na krotki, tj. pary klucz/wartość. Następnie zadanie Zmniejsz tasuje i redukuje dane, co oznacza, że łączy krotki danych na podstawie klucza i odpowiednio modyfikuje wartość klucza.
W ramach Hadoop model MapReduce jest podstawowym składnikiem przetwarzania danych. Korzystając z tego modelu, bardzo łatwo jest skalować aplikację, aby działała na setkach, tysiącach i wielu innych maszynach w klastrze, dokonując jedynie zmiany konfiguracji. Dzieje się tak również dlatego, że programy modelu w chmurze obliczeniowej mają charakter równoległy. Hadoop umożliwia uruchamianie MapReduce w wielu językach, takich jak Java, Ruby, Python i C++. Przeczytaj więcej o architekturze mapreduce.
Spis treści
Wejścia i wyjścia
Model MapReduce działa na parach <klucz, wartość>. Wyświetla dane wejściowe zadań jako zestaw par <klucz, wartość> i tworzy inny zestaw par <klucz, wartość> jako dane wyjściowe zadań. Wprowadzanie danych jest obsługiwane przez dwie klasy w tym frameworku, a mianowicie InputFormat i RecordReader.
Pierwsza jest konsultowana w celu ustalenia, w jaki sposób dane wejściowe powinny być podzielone na zadania mapy, podczas gdy druga odczytuje dane z danych wejściowych. W przypadku danych wyjściowych istnieją również dwie klasy OutputFormat i RecordWriter. Pierwsza klasa przeprowadza podstawową weryfikację właściwości ujścia danych, a druga klasa służy do zapisywania każdego wyjścia reduktora do ujścia danych.
Jakie są fazy MapReduce?
W MapReduce dane przechodzą przez następujące fazy.

Podziały wejściowe: dane wejściowe w modelu MapReduce są podzielone na małe części o stałym rozmiarze zwane podziałami wejściowymi. Ta część danych wejściowych jest zużywana przez pojedynczą mapę. Dane wejściowe to zazwyczaj plik lub katalog przechowywany w systemie plików HDFS.
Mapowanie: Jest to pierwsza faza wykonywania programu map-reduce, w której dane w każdym podziale są przekazywane linia po linii do funkcji mapującej w celu przetworzenia ich i wygenerowania wartości wyjściowych.
Tasowanie: Jest to część wyjściowej fazy mapowania, w której odpowiednie rekordy są konsolidowane z danych wyjściowych. Polega na łączeniu i sortowaniu. Tak więc wszystkie pary klucz-wartość, które mają te same klucze, są łączone. Podczas sortowania dane wejściowe z etapu scalania są pobierane i sortowane. Zwraca pary klucz-wartość, sortując dane wyjściowe.
Zmniejszenie: Wszystkie wartości z fazy tasowania są łączone i zwracana jest pojedyncza wartość wyjściowa. W ten sposób podsumowując cały zestaw danych.
Przeczytaj także: Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej Mapreduce

Jak działa MapReduce Organize?
Hadoop dzieli zadanie na dwie części, zadania mapowania, które obejmują podziały i mapowanie, oraz zadania redukcji, które obejmują tasowanie i zmniejszanie. Zostały one wymienione w fazach w powyższej sekcji. Wykonanie tych zadań jest kontrolowane przez dwie jednostki zwane JobTracker i Multiple Task tracker.
Z każdym zadaniem, które jest przesyłane do wykonania, istnieje JobTracker, który znajduje się w NameNode i wiele trackerów zadań, które znajdują się w DataNode. Zadanie zostaje podzielone na wiele zadań uruchamianych na wielu węzłach danych w klastrze. JobTracker koordynuje działania, planując zadania do uruchomienia w różnych węzłach danych.
Śledzenie zadań czuwa nad wykonaniem poszczególnych zadań. Wysyła również raport postępu do JobTracker. Okresowo wysyła sygnał do JobTracker, aby powiadomić o aktualnym stanie systemu. W przypadku niepowodzenia zadania JobTracker przestawia je na inny moduł do śledzenia zadań.
Zalety MapReduce
Aplikacje korzystające z tego modelu mają wiele zalet. To są

- – Możliwość łatwej obsługi dużych zbiorów danych.
- – Zbiory danych mogą być przetwarzane równolegle.
- – Wszystkie rodzaje danych, takie jak ustrukturyzowane, nieustrukturyzowane i częściowo ustrukturyzowane, można łatwo przetwarzać.
- – Zapewniona jest wysoka skalowalność.
- – Liczenie wystąpień słów jest łatwe, a aplikacje te mogą gromadzić ogromne ilości danych.
- – Szybki dostęp do dużych próbek respondentów.
- – W analizie danych można wykorzystać ogólne narzędzie do wyszukiwania narzędzi.
- – Czas równoważenia obciążenia jest oferowany w dużych klastrach.
- – Proces wyodrębniania kontekstów lokalizacji użytkowników, sytuacji itp. jest łatwo możliwy.
- – Te aplikacje zapewniają dobrą wydajność uogólniania i konwergencję.
Trzeba przeczytać: Mapreduce kontra Apache Spark
Wniosek
Szczegółowo opisaliśmy MapReduce w Hadoop. We wprowadzeniu przedstawiliśmy również krótki opis frameworka wraz z definicjami zarówno Map, jak i Reduce. Podano definicje różnych terminów używanych w tym modelu wraz ze szczegółowymi danymi wejściowymi i wyjściowymi.
Szczegółowe wyjaśnienie różnych faz zaangażowanych w strukturę MapReduce, zilustrowane szczegółowo, w jaki sposób jest zorganizowana praca. Lista zalet korzystania z MapReduce dla aplikacji daje jasny obraz jego użycia i znaczenia
Jeśli chcesz dowiedzieć się więcej o Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne praktyczne warsztaty, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.
Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
