tych operacji jest znaczne zmniejszenie czasu wykonywania tej samej pracy przez jeden węzeł. Algorytm MapReduce najczęściej używany jest przy czasochłonnych operacjach na dużych zbiorach danych. Mniejsze znaczeniem ma poziom skomplikowania zadania, w praktyce są to zazwyczaj łatwe problemy.
2.3 Diagram przedstawiający pierwszy etap fazy mapowania dane wejściowe - dowolne dane ładowane z pliku spkt - pofragmentowane dane wejściowe
KV • zbiory par klucz wartość dla danego splitu. ulegających mapowaniu w dalszym etapie Szczegółowy opis kroków przedstawia się następująco:
• InputFormat dzieli dane wejściowe z pliku wejściowego, wynikiem tego działania są InputSpUts, które reprezentują dane do późniejszej analizy.
• RecordReader przygotowuje dane dla następnego kroku w formie grupy par klucz-wartość.
• Hadoop MapReduce framewoik dla każdego InputSpUt tworzy map task. który następnie przydzielany jest do węzła.
• każdy map task wykonuje zaimplementowaną i dostarczaną przez aplikację funkcję map.
• każdy węzeł może mieć przydzielone więcej niż jeden task, wykonywane one są równolegle na wszystkich węzłach klastra.
InputSplits • rekordy danych powstałe na etapie dzielenia zbioru danych wejściowych na mniejsze części.
InputFormal • klasa odpowiedzialna za generowanie InputSplits. dostarcza także RecordReader oraz opisije specyfikację wejścia (typy danych dla par klucz-wartość).
RecordReader - generuje zbiór par klucz-wartość z każdego InputSplit, które następnie są wejściem dla map task.
map task - określenie na zadanie przydzielane węzłom klastra. którego celem jest wykonanie funkcji mapującej nadanych wejściowych.
< keyl,valuel > —> map-> < key2,vdue2 > (2.9)
Powyższy wzór ukazuje bardzo uproszczony schemat tej fazy. Wyjściem jest plik wynikowy, którego format reprezentowany jest również przez parę klucz-wartość. jednakże typy danych niekoniecznie muszą pokrywać się z tymi na wejściu.
17