Escritura de salida a diferentes carpetas de hadoop.

Quiero escribir dos tipos diferentes de salida del mismo reductor, en dos directorios diferentes.

Puedo usar la función de múltiples salidas en hadoop para escribir en diferentes archivos, pero ambos van a la misma carpeta de salida.

Quiero escribir cada archivo desde el mismo reducir a una carpeta diferente.

¿Hay una manera de hacer esto?

Si trato de poner por ejemplo "hello / testfile", como segundo argumento, muestra un argumento no válido. Así que no puedo escribir en carpetas diferentes.

Si el caso anterior no es posible, ¿es posible que el asignador lea solo archivos específicos de una carpeta de entrada?

Por favor, ayúdame.

¡Gracias por adelantado!

Gracias por la respuesta. Soy capaz de leer un archivo con éxito utilizando el método anterior. Pero en modo distribuido, no puedo hacerlo. En el reductor, he puesto:

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

(Usando múltiples salidas, y en Job Conf: Intenté usar

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

tanto como

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

Pero, da el siguiente error:

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta