Escrevendo saída para diferentes pastas hadoop

Eu quero escrever dois tipos diferentes de saída do mesmo redutor, em dois diretórios diferentes.

Eu sou capaz de usar o recurso multipleoutputs no hadoop para gravar em arquivos diferentes, mas ambos vão para a mesma pasta de saída.

Eu quero escrever cada arquivo do mesmo reduzir para uma pasta diferente.

Existe uma maneira de fazer isso?

Se eu tentar colocar por exemplo "hello / testfile", como o segundo argumento, ele mostra o argumento invaid. Então eu não sou capaz de escrever em pastas diferentes.

Se o caso acima não for possível, é possível ao mapeador ler apenas arquivos específicos de uma pasta de entrada?

Por favor me ajude.

Desde já, obrigado!

Obrigado pela resposta. Eu sou capaz de ler um arquivo usando com sucesso o método acima. Mas no modo distribuído, não consigo fazer isso. No redutor, eu defini:

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

(Usando várias saídas, e no Job Conf: eu tentei usar

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

assim como

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

Mas, dá o seguinte erro:

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

questionAnswers(4)

yourAnswerToTheQuestion