Ausgabe in verschiedene Ordner schreiben

Ich möchte zwei verschiedene Arten von Ausgaben vom selben Reduzierer in zwei verschiedene Verzeichnisse schreiben.

Ich kann die Funktion für mehrere Ausgaben in hadoop verwenden, um in verschiedene Dateien zu schreiben, aber beide werden in denselben Ausgabeordner verschoben.

Ich möchte jede Datei vom selben Reduce in einen anderen Ordner schreiben.

Gibt es eine Möglichkeit, dies zu tun?

Wenn ich versuche, zum Beispiel "Hallo / Testdatei" als zweites Argument zu setzen, zeigt es ein ungültiges Argument an. Ich kann also nicht in verschiedene Ordner schreiben.

Wenn der obige Fall nicht möglich ist, kann der Mapper dann nur bestimmte Dateien aus einem Eingabeordner lesen?

Bitte hilf mir.

Danke im Voraus!

Danke für die Antwort. Ich kann eine Datei erfolgreich mit der oben beschriebenen Methode lesen. Aber im verteilten Modus kann ich das nicht. Im Reduzierer habe ich eingestellt:

mos.getCollector("data", reporter).collect(new Text(str_key), new Text(str_val));

(Mit mehreren Ausgängen und in Job Conf: Ich habe versucht mit

FileInputFormat.setInputPaths(conf2, "/home/users/mlakshm/opchk285/data-r-00000*");

ebenso gut wie

FileInputFormat.setInputPaths(conf2, "/home/users/mlakshm/opchk285/data*");

Aber es gibt den folgenden Fehler:

cause:org.apache.hadoop.mapred.InvalidInputException: Input Pattern hdfs://mentat.cluster:54310/home/users/mlakshm/opchk295/data-r-00000* matches 0 files

Antworten auf die Frage(4)

Ihre Antwort auf die Frage