Chcę pomóc w zrozumieniu algorytmu. Najpierw wkleiłem wyjaśnienie algorytmu, a potem moje wątpliwości.Zrozumienie algorytmu mapreduce do obliczania zachodzenia na siebie
Algorytm :(celu obliczenia powierzchni styku między parami zapisu)
względu użytkownik zdefiniowano parametru k, plik DR (* format: record_id dane *) jest podzielony na K prawie równo wielkości grudek, tak, że dane z dokumentu, Di wpada w porcję i/K th.
Przejęliśmy funkcję partycjonowania Hadoop, która odwzorowuje klucz emitowany przez program odwzorowujący na instancję reduktora. Każdy klawisz (i, j) jest odwzorowany na reduktor w grupie j/Kth.
Specjalny klucz i, * i związane z nim wartości, tj. Dane dokumentu są replikowane co najwyżej K razy, aby pełna treść dokumentu mogła zostać dostarczona przy każdym reduktorze. Każdy reduktor w grupie musi zatem odzyskać i załadować do pamięci tylko jeden fragment pliku DR, , którego rozmiar może być ustawiony dowolnie mały przez zmianę K. W ten sposób można obliczyć nakładanie. Osiąga się to kosztem replikacji dokumentów dostarczanych w ramach MapReduce.
Wątpliwości:
Podjąłem pewne założenia:
komunikat: Każdy klawisz (i, j) jest odwzorowany z reduktorem w J/grupy KTH. Założenie: K zredukowane węzły są obecne, a klucz jest odwzorowany na węzeł j/Kth reduction.
Wątpliwość: czy niektóre zredukowane węzły są zgrupowane razem? powiedzmy, że 0,1,2 węzłów jest zgrupowanych jako Grupa-0?
Oświadczenie: dane dokumentu są replikowane co najwyżej K razy, dzięki czemu pełna treść dokumentu może zostać dostarczona przy każdym reduktorze.
Oznacza to, że K równa się nie. węzłów redukcyjnych? Jeśli nie, marnujemy węzły obliczeniowe, bez korzystania z nich w odpowiedni sposób?
Główny wątek: Czy K jest równe liczbie węzłów redukcyjnych?
Nadzieję na odpowiedzi!
Dzięki!
Nie sądzę, dajesz nam wystarczająco dużo informacji, aby zrozumieć ten algorytm ... –
Zasadniczo istnieją dwa rodzaje wyjść Mapper: 1., –
Zasadniczo istnieją dwa typy wyjścia odwzorowujący: A . klucz: , val: b. klucz: , val: . Pierwszy typ wyjść może osiągnąć dowolny reduktor w oparciu o drugą część drugiej części klucza, tj. J. Celem jest grupowanie się przy każdej redukcji rekordów instancji z dowolnego wyjścia mappera, które ma samo "i" w pierwszej części klucza. Klucz musi być replikowany k razy, aby dotrzeć do każdej instancji redukującej, tak aby każdy rekord przecięcia z i jako pierwszą częścią klucza uzyskiwał dane i. Czy oznacza to, że k musi być replikowane tyle razy, ile nie. zredukować węzły ??? –