Die Reduzierung der Phase von Hadoop MapReduce der Anwendung Durchfluss

Die Phasenprozesse reduzieren die Schlüssel und ihre individuellen Wertelisten, so dass das, was normalerweise an die Clientanwendung zurückgegeben eine Reihe von Schlüssel / Wert-Paare ist. Hier ist die Blow-by-Blow so weit: Eine große Datenmenge wurde in kleinere Stücke zerlegt, die so genannte Eingabesplits, und einzelne Instanzen von Mapper Aufgaben jeder von ihnen verarbeitet.

In einigen Fällen ist diese einzelne Phase der Verarbeitung alle, dass die gewünschte Anwendung Ausgabe zu erzeugen benötigt wird. Zum Beispiel, wenn Sie eine grundlegende Transformation Betrieb auf der Daten laufen - Konvertieren Sie Text in Großbuchstaben, zum Beispiel, oder das Extrahieren Schlüsselbilder aus Videodateien - der einsame Phase ist alles, was Sie brauchen. (Dies ist als ein bekannter Karte-only Job, übrigens.)

Aber in vielen anderen Fällen wird der Auftrag nur halb fertig, wenn die Mapper Aufgaben ihre Ausgabe geschrieben haben. Die verbleibende Aufgabe wird Einkochen alle Zwischenergebnisse auf eine einzige, einheitliche Antwort.

Ähnlich wie bei der Mapper Aufgabe, die jeden Datensatz one-by-one-Prozesse verarbeitet die Minderer jeweils einzeln Schlüssel. Normalerweise kehrt die Minderer einen einzelnen Schlüssel / Wert-Paar für jeden Schlüssel es Prozesse. Allerdings können diese Schlüssel / Wert-Paare werden als expansive oder so klein, wie Sie sie brauchen.

Wenn die Reduktionsaufgaben fertig sind, gibt jeder von ihnen eine Ergebnisdatei und speichert sie in HDFS (Hadoop Distributed File System). Wie hier gezeigt, repliziert das HDFS System dann automatisch diese Ergebnisse.

bild0.jpg

Wo der Resource Manager (oder Jobtracker wenn Sie mit Hadoop 1) seine besten versucht, Ressourcen zuweisen Aufgaben Mapper, dass die Eingabe-Splits, um sicherzustellen, werden lokal verarbeitet werden, besteht für Minderer Aufgaben keine solche Strategie ist. Es wird angenommen, dass Mapper Aufgabe Ergebnismengen über das Netzwerk übertragen werden müssen, durch die Reduzierung Aufgaben bearbeitet werden.

Dies ist eine vernünftige Implementierung, da mit Hunderten oder sogar Tausenden von Mapper Aufgaben, gibt es keine praktische Möglichkeit für Minderer Aufgaben am selben Ort Priorisierung haben würde.

Menü