[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Beispielhafte Berechnung: BKL aufgelöst
Beispielhafte Berechnung: offensichtliche Fehler und Unklarheiten korrigiert (verifiziert mit Hadoop-Ausgabe), trotzdem ist der beschriebene Ablauf noch irreführend
Zeile 135:
("segen", 1), ("kommt", 1), ("von", 1), ("oben", 1) ]</code>
 
Die Map-Prozesse liefern ihre Paare an das MapReduce Framework, welches diese in den Zwischenergebnislisten sammelt. Parallel könnte folgendes geschehen (Die gleiche Taktung der 3 Map-Prozesse ist unrealistisch, tatsächlich überlappen sich die Ausführungen. Die T_wort-Listen sind lokal pro Map-Prozess vorhanden und werden *nicht* zwischen den Schritten synchronisiert):
 
<code>
Zeile 153:
T_stirne = [ 1 ], neu</code>
 
Im vierten Schritt kommtsieht dannman, zumdass erstenZwischenergebnislisten Mallokal vor, dassfür einjeden weiteresMap-Prozess Vorkommenexistieren inund einernich bereitsnicht angelegtenglobal Zwischenergebnislistewiederverwendet gesammeltwerden wirdkönnen:
 
<code>
4. Schritt:
T_der = [ 1 ], neu (der 1. ]Map-Prozess hat noch kein T_der, nur der 2.!)
T_glocke = [ 1 ], neu
T_heiss = [ 1], neu
Zeile 169:
T_steht = [ 1 ], neu
T_frisch = [ 1 ], neu
T_muß = [ 1 ], 1neu ]</code>(der 3. Map-Prozess hat noch kein T_muß!)
usw.</code>
 
Im siebten Schritt kommt dann zum ersten Mal vor, dass ein weiteres Vorkommen in einer bereits angelegten Zwischenergebnisliste gesammelt wird:
 
<code>
7. Schritt
T_die = [ 1 ], neu (der 1. Map-Prozess hat noch kein T_die!)
T_gesellen = [ 1 ], neu
T_der = [ 1, 1 ], beim 3. Map-Prozess seit Schritt 2 vorhandene Liste verwenden</code>
 
usw.
 
Nach 2021 Schritten sind alle drei Map-Prozesse mit ihrer Arbeit durch, die Map-Phase endet und es beginnt die Reduce-Phase. Für jede der entstandenen Zwischenergebnislisten
Die Zwischenergebnislisten, die von verschiedenen Map-Prozessen zu demselben Wort angelegt wurden, werden zusammengefügt.
Für jede der entstandenen Zwischenergebnislisten (hier sortiert aufgeführt)
 
<code>
reduce
T_festT_der = [ 1 ] ++ [ 1, 1, 1 ] -> [ 14 ]
T_heuteT_die = [ 1, 1 ] -> [ 12 ]
T_vonT_fest = [ 1, 1 ] -> [ 21 ]
T_gemauert = [ 1 ] -> [ 1 ]
T_mußT_glocke = [ 1, 1 ] -> [ 21 ]
T_derT_heiss = [ 1, 1 ] -> [ 21 ]
T_inT_heute = [ 1 ] -> [ 1 ]
T_dieT_in = [ 1, 1 ] -> [ 21 ]
T_stirneT_muß = [ 1 ] ++ [ 1 ] -> [ 12 ]
T_derT_stirne = [ 1, 1,] 1 ] -> [ 31 ]
T_glockeT_von = [ 1, 1 ] -> [ 12 ]</code>
usw.
T_heiss = [ 1 ] -> [ 1 ]
usw.</code>
 
können wir parallel einen Reduce-Prozess starten, der jeweils die Elemente aufzählt. und daher das
Das Ergebnis von MapReduce sieht in etwa so aussehen dürfteaus:
 
<code>