bigdata:hadoop
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
bigdata:hadoop [2015/10/05 20:51] – [Hadoop Distributed File System] brueck | bigdata:hadoop [2015/10/05 20:53] – [MapReduce] brueck | ||
---|---|---|---|
Zeile 39: | Zeile 39: | ||
- | ==== MapReduce ==== | + | ===== MapReduce |
Eine der Ideen, die Hadoop zugrunde liegen, ist, dass es effektiver ist, Berechnungen zu den Daten zu bringen, anstatt Die Daten zu verschieben, | Eine der Ideen, die Hadoop zugrunde liegen, ist, dass es effektiver ist, Berechnungen zu den Daten zu bringen, anstatt Die Daten zu verschieben, | ||
Zeile 46: | Zeile 46: | ||
MapReduce-Operationen laufen im Wesentlichen in drei Schritten ab: | MapReduce-Operationen laufen im Wesentlichen in drei Schritten ab: | ||
- | === Map === | + | |
- | Zunächst wird ein Inputfile (typischerweise vom HDFS) geladen, in **FileSplits** aufgeteilt und auf unterschiedliche Knoten verteilt. Dies erlaubt eine effiziente Verarbeitung auch sehr großer Inputfiles durch die massiv verteilte, parallele Arbeit der Mapper, die auf je einem solchen Split zum Einsatz kommen. Dabei geht das Splitting nach Bytelänge vor und weiß nichts über die interne Struktur der Dateien ([[bigdata: | + | ==== Map ==== |
+ | Zunächst wird ein Inputfile (typischerweise vom HDFS) geladen, in **FileSplits** aufgeteilt und auf unterschiedliche Knoten verteilt. Dies erlaubt eine effiziente Verarbeitung auch sehr großer Inputfiles durch die massiv verteilte, parallele Arbeit der Mapper, die auf je einem solchen Split zum Einsatz kommen. Dabei geht das Splitting nach Bytelänge vor und weiß nichts über die interne Struktur der Dateien ([[bigdata: | ||
Es stehen einige Inputformate zur Verfügung: | Es stehen einige Inputformate zur Verfügung: | ||
Zeile 55: | Zeile 56: | ||
| KeyValueInputFormat | | KeyValueInputFormat | ||
| SequenceFileInputFormat| Hadoop-spezifisches Binärformat | | SequenceFileInputFormat| Hadoop-spezifisches Binärformat | ||
- | (Nach [[bigdata: | + | (Nach [[bigdata: |
- | === Combine === | + | ==== Combine |
- | Die Combine-Phase ist eine optionale Phase, die zu Optimierungszwecken verwendet werden kann. Sie findet nach dem Mapper und vor dem Shuffle statt, also bevor der Output der Map-Phase vom Hauptspeicher auf Disk geschrieben wird. Der **Combiner** wird auch als „Lokaler Reducer“ bezeichnet, da er nur auf den Daten einer Maschine arbeitet. Dabei werden die Key-Value-Paare der Map-Phase nach dem Schlüssel zusammengefasst und die Werte entsprechend zusammengerechnet. Auf diese Weise kann die Datenmenge noch einmal reduziert werden. Der Output des Combiners wird dann als Input an den Reducer übergeben. (Vgl. [[bigdata: | + | Die Combine-Phase ist eine optionale Phase, die zu Optimierungszwecken verwendet werden kann. Sie findet nach dem Mapper und vor dem Shuffle statt, also bevor der Output der Map-Phase vom Hauptspeicher auf Disk geschrieben wird. Der **Combiner** wird auch als „Lokaler Reducer“ bezeichnet, da er nur auf den Daten einer Maschine arbeitet. Dabei werden die Key-Value-Paare der Map-Phase nach dem Schlüssel zusammengefasst und die Werte entsprechend zusammengerechnet. Auf diese Weise kann die Datenmenge noch einmal reduziert werden. Der Output des Combiners wird dann als Input an den Reducer übergeben. (Vgl. [[bigdata: |
- | === Reduce === | + | ==== Reduce |
- | Wenn die Map-Phase abgeschlossen ist, müssen die entstandenen Zwischenergebnisse (Key-Value-Paare), | + | Wenn die Map-Phase abgeschlossen ist, müssen die entstandenen Zwischenergebnisse (Key-Value-Paare), |
Das OutputFormat kann dabei bestimmt werden, ähnlich wie das InputFormat: | Das OutputFormat kann dabei bestimmt werden, ähnlich wie das InputFormat: | ||
Zeile 69: | Zeile 70: | ||
| SequenceFileOutputFormat | Schreibt binäre Files für das Lesen in darauffolgenden MapReduce-Jobs | | | SequenceFileOutputFormat | Schreibt binäre Files für das Lesen in darauffolgenden MapReduce-Jobs | | ||
| NullOputFormat | | NullOputFormat | ||
- | (Nach [[bigdata: | + | (Nach [[bigdata: |
bigdata/hadoop.txt · Zuletzt geändert: 2016/06/27 23:12 von hohmann