6

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!

+0

Nie sądzę, dajesz nam wystarczająco dużo informacji, aby zrozumieć ten algorytm ... –

+0

Zasadniczo istnieją dwa rodzaje wyjść Mapper: 1. , –

+0

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 ??? –

Odpowiedz

0

Należy przetestować to samo przerwanie programu po tym, jak węzły staną się niepotrzebne w stosunku do bieżącego programu. Uważam, że zazwyczaj lepiej jest przerwać operację, gdy ta się zakończy.

Jeśli jednak operacja zadziała tylko w późniejszym czasie, może być konieczne zezwolenie na kontynuowanie kodu do końca.