Hadoop MapReduce

brueslymuesh

Grünschnabel
Hallo zusammen,

Ich bin neu bei Hadoop und hab da mal eine Frage. Und zwar geht es darum eine sortierte Liste von Woertern zu erstellen (aehnlich dem WordCount-Example). Allerdings wuerde ich gerne zuerst fuer jedes Input-File auch ein Output-File schreiben (ich moechte also die Daten nicht combinen und nicht shuffeln).

Warum das Ganze mit Hadoop sein soll: Das liegt an der Aufgabenstellung die ich bekommen habe, mittlerweile frage ich mich aber ob die so schon richtig ist oder an dem was Hadoop macht vorbei geht.

Naja, evtl. hat ja wer Erfahrung mit Hadoop und kann da mal was dazu sagen. Bringt es was den Combiner zu ueberschreiben oder irgendwas?

Danke...
 
Hallo,

ich nehme mal an, dass du mit Hadoop-Mitteln deine Wortliste in n-Input Chunks (= "Input Files") zerlegen willst. Möchtest jetzt wirklich nur jedes Input Chunk in ein Output Chunk mappen? Dann brauchst du doch eigentlich nur eine Identitätsfunktion -> IdentityMapper:
http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapred/lib/IdentityMapper.html
http://hadoop.apache.org/common/docs/r0.20.1/api/org/apache/hadoop/mapred/lib/IdentityReducer.html -> IdentityReducer ... sortiert wird dabei natürlich nichts...

Gruß Tom
 
Hallo,

erstmal Danke fuer die Antwort. Das Problem war eigentlich das ich x-Files hatte und jedes File dann verarbeitet werden sollte und der Output wieder gesammelt in ein File geschrieben werden sollte.

In etwa so:
1.File ------->Hadoop------->1.File
2.File ------->Hadoop------->2.File

Das Problem war das ich mich mit Hadoop noch nicht so ausgekannt hatte. Es gibt aber Flags die es erlauben den Combine-Prozess usw. zu kontrollieren. Ausserdem, was mir dann erst nach etwas ueberlegen klar wurde, werden die Keys ja gesammelt und dann gruppiert. Ueber den FileSplit kann ich mir den Dateinamen im Mapper holen und dadurch entsprechend gruppieren. Ich habs jetzt zumindest mal so geloest...
 
Zurück