2010-12-30 6 views
0

Wir haben ein benutzerdefiniertes Eingabeformat, das das FileInputFormat erweitert, das für jede Zeile in der Eingabedatei eine separate Aufteilung generiert. Diese Datei enthält einen Hostnamen, in dem der Mapper, der diese Zeile verarbeitet, ausgeführt werden sollte.Wie verarbeitet man Zeilen in einer Datei in einem bestimmten Hadoop-Slave?

Wie erreiche ich das?

Dies ist erforderlich, da der Mapper Daten aus DB liest und ich den Mapper auf dem gleichen Computer wie der DB-Server ausführen möchte.

Antwort

1

Nicht möglich, ohne Ihre eigene Implementierung innerhalb der Hadoop-Codebasis zu schreiben.

Wenn Sie versuchen, der Karteneingabe weitere Daten hinzuzufügen, übergeben Sie sie als Argument an den Job, und Sie können sie dann in Ihrer map() einfügen und mit der Eingabe verketten.

+0

Ich versuche, jede Zuordnung zu einem bestimmten Knoten zu planen. –

+0

Sogar etwas, das es mir erlaubt, jede Zeile der Eingabedatei auf einen bestimmten Host zu stellen, hilft, da Hadoop die Map auf demselben Host wie die Eingabezeile ausführen wird. –

+0

Nicht möglich, ohne eine eigene Implementierung innerhalb der Hadoop-Codebasis zu schreiben. –

Verwandte Themen