Die Shuffle Phase von Hadoop MapReduce der Anwendung Durchfluss

Nach der Karte Phase und vor Beginn der Reduzierung der Phase ist ein Handoff-Prozess, bekannt als mischen und sortieren. Dabei werden Daten aus den Mapper Aufgaben vorbereitet und bewegt wird, um den Knoten, wo die Reduktions Tasks ausgeführt werden. Wenn der Mapper Aufgabe abgeschlossen ist, werden die Ergebnisse nach Schlüssel sortiert, partitioniert, wenn es mehrere Reduzierungen, und dann auf die Platte geschrieben.

Sie können dieses Konzept in der folgenden Abbildung zu sehen, die die MapReduce Datenverarbeitungsfluss und seine Wechselwirkung mit den physikalischen Komponenten des Hadoop-Cluster zeigt. (Eine kurze Anmerkung: Die Daten im Speicher wird durch weiße Quadrate dargestellt, und auf der Festplatte gespeicherten Daten werden durch graue Quadrate dargestellt.)

bild0.jpg

Um auf den gesamten MapReduce Prozess zu beschleunigen, werden die Daten sofort an den Reduktions Aufgaben 'Knoten bewegt, eine Flut von Netzwerkaktivität zu vermeiden, wenn die endgültige Mapper Aufgabe seine Arbeit beendet hat. Diese Übertragung geschieht während der Mapper-Task ausgeführt wird, da die Ausgaben für jeden Datensatz - erinnern - werden im Speicher einer Warteminderer Aufgabe gespeichert. (Sie können konfigurieren, ob dies der Fall ist - oder nicht geschieht -. Und auch die Anzahl der Threads beteiligt)

Beachten Sie, dass, obwohl eine Reduzierung Aufgabe meisten der Ausgabe des Mapper Aufgabe haben könnte, der Verarbeitung des reduzieren Aufgabe kann erst beginnen, wenn alle Mapper Aufgaben beendet haben.

Um zu vermeiden, Szenarien, in denen die Leistung eines MapReduce Job von einer zerstreuten Mapper Aufgabe behindert wird, die auf einem schlecht funktionierenden Slave-Knoten ausgeführt wird, verwendet das MapReduce Framework ein Konzept namens spekulative Ausführung.

Im Falle laufen einige Mapper Aufgaben langsamer als das, was vernünftig ist, in Betracht gezogen wird laichen die Bewerbungsmaster doppelte Aufgaben (in Hadoop 1, die Jobtracker tut dies). Unabhängig davon, welche Aufgabe zuerst fertig ist - das Duplikat oder das Original - die Ergebnisse werden gespeichert auf der Festplatte und die andere Aufgabe getötet wird. Wenn Sie Ihre Aufträge genau überwachen und sich fragen, warum es mehr Mapper Aufgaben ausgeführt werden, als Sie erwarten, ist dies ein wahrscheinlicher Grund.

Die Ausgabe von Mapper Aufgaben ist nicht auf HDFS geschrieben, sondern auf der lokalen Festplatte auf dem Slave-Knoten, auf dem der Mapper Aufgabe ausgeführt wurde. Als solches ist es nicht über die Hadoop-Cluster repliziert.

Abgesehen von der Ausgabe komprimiert, können Sie möglicherweise die Leistung steigern, indem eine Kombinierer Aufgabe ausgeführt wird. Diese einfache Taktik, hier gezeigt wird, beinhaltet die Durchführung einer lokalen für einzelne Mapper Aufgaben der Produktion zu senken.

image1.jpg

In den meisten Fällen ist keine zusätzliche Programmierung erforderlich, da Sie das System anweisen können die Reduktionsfunktion zu verwenden. Wenn Sie nicht Ihre Minderer Funktion verwenden, müssen Sie sicherstellen, dass der Ausgang des Kombinierers Funktion zu, dass der Reduktions Funktion identisch ist.

Es liegt an dem MapReduce Framework, ob der Kombinierer Funktion einmal ausgeführt werden muss, mehrere Male, oder nie, so wichtig es ist, dass der Code des Kombinierers stellt sicher, dass die endgültigen Ergebnisse von mehreren Läufen nicht beeinflusst werden. der Kombinierer laufen kann einen Leistungsvorteil erzielen, indem die Menge von Zwischendaten verringert, die sonst über das Netzwerk übertragen werden müssten.

Dies senkt auch die Menge der Reduktions Aufgaben der Verarbeitung würde tun müssen. Sie führen eine zusätzliche Aufgabe hier, so ist es möglich, dass jede Leistungsgewinn zu vernachlässigen ist oder sogar in einem schlechteren Gesamtleistung zur Folge haben. Ihre Ergebnisse können variieren, so testen Sie diese sorgfältig.

Schließlich werden die Ergebnisse der Mapper Aufgaben an die Reduktions Aufgaben 'Knoten kopiert werden, werden diese Dateien zusammengefasst und sortiert.

Menü