Sortieren eine riesige text-Datei mit hadoop
Ist es möglich, zu Sortieren, eine riesige text-Datei lexikographisch mit einem mapreduce-job die einzige Karte, Aufgaben und keine Aufgaben reduzieren?
Datensätze der Textdatei getrennt durch ein neue-Zeile-Zeichen und die Größe der Datei ist rund 1 Terra Byte.
Wird es groß sein, wenn jemand kann empfehlen, einen Weg zu erreichen Sortierung auf dieser riesigen Datei.
- Gibt es einen Grund für die nicht wollen, haben einen reduzieren task?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendet TreeSet Map Methode halten Sie sämtliche Daten in der input-split und bleiben es. Schließlich habe ich die sortierte Datei!
Es ist in der Tat eine Art Beispiel, der zusammen mit Hadoop. Können Sie sich, wie der Beispiel-code funktioniert mit der Prüfung der Klasse org.apache.hadoop.Beispiele.Sortieren. Dies an sich funktioniert ziemlich gut, aber wenn Sie wollen mehr Flexibilität mit Ihrer Art, Sie können überprüfen diese aus.
Sortierung in Hadoop ist mit einem Partitioner - schreiben Sie eine benutzerdefinierte Partitionierer zu Sortieren nach Ihren business-Logik benötigt. Bitte Lesen Sie diesen link, schreiben Sie eine benutzerdefinierte Partitionierer http://jugnu-life.blogspot.com/2012/05/custom-partitioner-in-hadoop.html
Ich nicht befürworten, Sortieren von terabytes von Daten unter Verwendung von plain-vanilla-linux-sort-Befehle - Sie müssen teilen Sie die Daten, um passen in den Speicher zum Sortieren von großen Dateien: Paralleles Sortieren in linux
Ist es besser und sinnvoller zu nutzen Hadoop MergeSort statt: Hadoop-MergeSort
Können Sie einen Blick auf einige Hadoop-Sortierung benchmarks und Analyse aus dem Yahoo Hadoop-team (jetzt Hortonworks) hier : Hadoop Sort-benchmarks