Zuhause Persönliche Finanzen Die Zuordnungsphase von Hadoops MapReduce-Anwendungsfluss - Dummys

Die Zuordnungsphase von Hadoops MapReduce-Anwendungsfluss - Dummys

Video: 12: Randomisierte Selektion, Parallele Implementierung, Zufälliges Zuordnen, Master-Worker-Schema 2024

Video: 12: Randomisierte Selektion, Parallele Implementierung, Zufälliges Zuordnen, Master-Worker-Schema 2024
Anonim

Eine MapReduce-Anwendung verarbeitet die Daten in Eingabesplits auf einer datensatzweisen Basis und jeder Datensatz wird von MapReduce als Schlüssel / Wert verstanden Paar. Nachdem die Eingabesplits berechnet wurden, können die Mapper-Tasks mit ihrer Verarbeitung beginnen, dh direkt nachdem die Planungsfunktion des Resource Managers ihnen ihre Verarbeitungsressourcen zugewiesen hat. (In Hadoop 1 weist der JobTracker Mapper-Tasks bestimmten Verarbeitungsfenstern zu.)

Die Mapper-Task selbst verarbeitet ihren Input-Split-Datensatz zu einem Zeitpunkt - in der Abbildung wird dieser einzelne Datensatz durch das Schlüssel / Wert-Paar dargestellt. Im Fall unserer Flugdaten wird bei der Berechnung der Eingabesplits (unter Verwendung der standardmäßigen Dateiverarbeitungsmethode für Textdateien) davon ausgegangen, dass jede Zeile in der Textdatei ein einzelner Datensatz ist.

Für jeden Datensatz stellt der Text der Zeile selbst den Wert dar, und der Byte-Offset jeder Zeile vom Beginn der Teilung wird als Schlüssel angesehen.

Sie fragen sich vielleicht, warum die Zeilennummer nicht anstelle des Byte-Offsets verwendet wird. Wenn Sie bedenken, dass eine sehr große Textdatei in viele einzelne Datenblöcke zerlegt und so viele Aufteilungen verarbeitet wird, ist die Zeilennummer ein riskantes Konzept.

Die Anzahl der Zeilen in jeder Aufteilung ist unterschiedlich, daher wäre es unmöglich, die Anzahl der Zeilen zu berechnen, die der verarbeiteten vorangehen. Mit dem Byte-Offset können Sie jedoch genau sein, da jeder Block eine feste Anzahl von Bytes hat.

Wenn ein Mapper-Task jeden Datensatz verarbeitet, generiert er ein neues Schlüssel / Wert-Paar: Der Schlüssel und der Wert können sich hier vollständig vom Eingangspaar unterscheiden. Die Ausgabe der Mapper-Aufgabe ist die vollständige Sammlung aller dieser Schlüssel / Wert-Paare.

Bevor die endgültige Ausgabedatei für jeden Mapper-Task geschrieben wird, wird die Ausgabe basierend auf dem Schlüssel partitioniert und sortiert. Diese Partitionierung bedeutet, dass alle Werte für jeden Schlüssel zusammen gruppiert sind.

Im Fall der ziemlich einfachen Beispielanwendung gibt es nur einen einzigen Reduzierer, so dass die gesamte Ausgabe der Mapper-Aufgabe in eine einzelne Datei geschrieben wird. In Fällen mit mehreren Reduzierstücken kann jedoch jede Mapper-Aufgabe auch mehrere Ausgabedateien erzeugen.

Die Aufschlüsselung dieser Ausgabedateien basiert auf dem Partitionierungsschlüssel. Wenn beispielsweise nur drei verschiedene Partitionierungsschlüssel für die Mapper-Tasks ausgegeben werden und Sie drei Reduzierungen für den Job konfiguriert haben, gibt es drei Mapper-Ausgabedateien. Wenn in diesem Beispiel eine bestimmte Zuordnungsaufgabe eine Eingabeaufteilung verarbeitet und eine Ausgabe mit zwei der drei Schlüssel generiert, gibt es nur zwei Ausgabedateien.

Komprimieren Sie immer die Ausgabedateien Ihrer Mapper-Tasks. Der größte Vorteil liegt hier in Leistungssteigerungen, da durch das Schreiben kleinerer Ausgabedateien die unvermeidlichen Kosten für die Übertragung der Mapper-Ausgabe an die Knoten minimiert werden, auf denen die Reduzierer ausgeführt werden.

Der Standardpartitionierer ist in den meisten Situationen mehr als ausreichend, aber manchmal möchten Sie möglicherweise anpassen, wie die Daten partitioniert werden, bevor sie von den Reduzierungen verarbeitet werden. Zum Beispiel möchten Sie vielleicht, dass die Daten in Ihren Ergebnismengen nach dem Schlüssel und ihren Werten sortiert werden - eine so genannte sekundäre Sortierung.

Um dies zu tun, können Sie den Standard-Partitionierer außer Kraft setzen und eigene implementieren. Dieser Prozess erfordert jedoch einige Sorgfalt, weil Sie sicherstellen möchten, dass die Anzahl der Datensätze in jeder Partition einheitlich ist. (Wenn ein Reducer viel mehr Daten verarbeiten muss als die anderen Reducer, warten Sie bis der MapReduce-Auftrag fertig ist, während der einzelne überarbeitete Reducer durch seinen unverhältnismäßig großen Datensatz zieht.)

kann die in der MapReduce-Verarbeitung verfügbare Parallelität besser nutzen.

Die Zuordnungsphase von Hadoops MapReduce-Anwendungsfluss - Dummys

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...