Несколько выходных путей (Java - Hadoop - MapReduce)

Я выполняю две работы в MapReduce и хочу, чтобы вторая работа позволила записать мой результат в два разных файла, в двух разных каталогах. Я хотел бы что-то похожее на FileInputFormat.addInputPath (.., несколько путей ввода) в некотором смысле, но для вывода.

Я совершенно новичок в MapReduce, и у меня есть особенность, чтобы написать свой код в Hadoop 0.21.0, который я используюcontext.write(..) в моем шаге Reduce, но я не вижу, как управлять несколькими путями вывода ...

Спасибо за ваше время !

Мой limitCode из моей первой работы, чтобы показать вам, что я знаю только, как выводить (он идет в файл /../part*. Но теперь я хотел бы иметь возможность указать два точных файла для разных выходных данных, в зависимости от ключ) :

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);
    }
}

РЕДАКТИРОВАТЬ: поэтому я сделал метод в последнем комментарии, как вы упомянули, Амар. Я не знаю, работает ли это, у меня есть другая проблема с моей HDFS, но прежде чем я забуду, давайте разместим здесь мои открытия ради цивилизации:

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

MultipleOutputs НЕ действует вместо FormatOutputFormat. Вы определяете один выходной путь с FormatOutputFormat, а затем вы можете добавить еще много с несколькими MultipleOutputs.Метод addNamedOutput: String namedOutput - это просто слово, которое описывает.Вы фактически определяете путь в методе записи, аргумент String baseOutputPath.

Ответы на вопрос(1)

Ваш ответ на вопрос