Ich musste vor kurzem einen Job ausführen, bei dem alle Mapper abgeschlossen werden mussten, bevor die Ergebnisse an die Kombinationsstufe übergeben wurden (aufgrund der Struktur der verarbeiteten Dateien). Diese Funktion ist an den Minderer durch die folgende Konfiguration -MapReduce erfordert, dass alle Mapper vor der Kombinationsstufe fertig sind
// force 100% of the mappers to conclude before reducers start
job.set("mapred.reduce.slowstart.completed.maps", "1.0");
ich keine ähnliche Konfiguration für die kombinieren Bühne finden konnten. Schließlich habe ich meinen Job in zwei Teile aufgeteilt, wobei die Mähdrescherstufe als Reduzierer fungierte und mein ursprünglicher Reduzierer an Job Nr. 2 weitergegeben wurde (Mapper2 übergibt einfach die Daten, ohne sie zu modifizieren).
Ich habe mich gefragt - gibt es eine Möglichkeit, die ich zu 100% Kartenabschluss vor dem Kombinieren konfigurieren? Vielen Dank.
So ist der Ansatz grundsätzlich sein sollte, Teile den Job und benutze einen Reducer, was ich dachte. Vielen Dank! – sa125