Frage

Gibt es eine Möglichkeit, die Ausgabe-Dateinamen eines Hadoop Streaming Job zu kontrollieren? Insbesondere würde ich meinen Job der Ausgabedateien Inhalt und Namen wie die Reduktions Ausgänge vom ket organisiert werden -. Jede Datei würde nur Werte für einen Schlüssel und den Namen der Schlüssel wäre enthalten

Update: Nur fand die Antwort - eine Java-Klasse verwenden, die von MultipleOutputFormat leitet als die Arbeitsplätze Ausgabeformat Steuerung der Ausgabedateinamen erlaubt. http: //hadoop.apache .org / core / docs / Strom / api / org / apache / hadoop / mapred / lib / MultipleOutputFormat.html

Ich habe keine Proben für diese da draußen gesehen ... Kann jemand auf eine Hadoop Streaming Probe weist darauf hin, dass die Verwendung einer benutzerdefiniertes Ausgabeformat Java-Klasse macht?

War es hilfreich?

Lösung

eine Java-Klasse verwenden, die von MultipleOutputFormat leitet als die Arbeitsplätze Ausgabeformat Steuerung der Ausgabedateinamen erlaubt. http: //hadoop.apache .org / core / docs / Strom / api / org / apache / hadoop / mapred / lib / MultipleOutputFormat.html

Wenn Hadoop Streaming verwenden, da nur eine JAR unterstützt Sie tatsächlich das Streaming-Glas Gabel haben und setzen Sie Ihre neue Ausgabeformat Klassen in ihm für das Streaming von Arbeitsplätzen, um es zu verweisen ...

EDIT: Ab Version 0.20.2 von hadoop dieser Klasse ist veraltet und Sie sollten jetzt verwenden: http: // hadoop .apache.org / docs / mapreduce / Strom / api / org / apache / hadoop / MapReduce / lib / output / MultipleOutputs.html

Andere Tipps

Im Allgemeinen Hadoop müßte Sie das gesamte Verzeichnis betrachten die Ausgabe zu sein, und nicht eine einzelne Datei. Es gibt keine Möglichkeit, direkt die Dateinamen zu steuern, ob Streaming oder regelmäßige Java Jobs verwenden.

wird jedoch nichts hindert Sie daran, diese Spaltung zu tun und das Umbenennen von selbst, nachdem die Arbeit beendet hat. Sie können Hadoop dfs $ -cat path / to / your / Ausgabe / directory / Teil * und Rohr, das zu einem Skript von Ihnen, die durch Tasten Inhalt bis spaltet und schreibt sie in neue Dateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top