Caminho de saída múltiplo (Java - Hadoop - MapReduce)

Eu faço dois trabalhos de MapReduce, e eu quero que o segundo trabalho seja capaz de escrever o meu resultado em dois arquivos diferentes, em dois diretórios diferentes. Eu gostaria de algo semelhante ao FileInputFormat.addInputPath (.., caminho de entrada múltipla) em um sentido, mas para a saída.

Sou completamente novo no MapReduce, e tenho uma especificidade para escrever meu código no Hadoop 0.21.0 que usocontext.write(..) no meu passo Reduzir, mas não vejo como controlar vários caminhos de saída ...

Obrigado pelo seu tempo !

Meu reduceCode do meu primeiro trabalho, para mostrar que eu só sei como saída (ele entra em um arquivo /../part*. Mas agora o que eu gostaria é poder especificar dois arquivos precises para saída diferente, dependendo a chave) :

public static class NormalizeReducer extends Reducer<LongWritable, NetflixRating, LongWritable, NetflixUser> {
    public void reduce(LongWritable key, Iterable<NetflixRating> values, Context context) throws IOException, InterruptedException {
        NetflixUser user = new NetflixUser(key.get());
        for(NetflixRating r : values) {
            user.addRating(new NetflixRating(r));
        }
        user.normalizeRatings();
        user.reduceRatings();
        context.write(key, user);
    }
}

EDITAR: então eu fiz o método no último comentário como você mencionou, Amar. Eu não sei se funciona, eu tenho outro problema com o HDFS, mas antes que eu esqueça, vamos colocar aqui minhas descobertas para o bem da civilização:

http://archive.cloudera.com/cdh/3/hadoop-0.20.2+228/api/org/apache/hadoop/mapreduce/lib/output/MultipleOutputs.html

MultipleOutputs NÃO age no lugar de FormatOutputFormat. Você define um caminho de saída com FormatOutputFormat e, em seguida, pode adicionar muito mais com múltiplos MultipleOutputs.addNamedOutput method: String namedOutput é apenas uma palavra que descreve.Você define o caminho, na verdade, no método write, o argumento String baseOutputPath arg.

questionAnswers(1)

yourAnswerToTheQuestion