В Hadoop где фреймворк сохраняет выходные данные задачи Map в обычном приложении Map-Reduce?

Я пытаюсь выяснить, где выходные данные задачи «Карта» сохраняются на диске, прежде чем они могут быть использованы задачей «Уменьшить».

Примечание: - используется версия Hadoop 0.20.204 с новым API

Например, при перезаписи метода map в классе Map:

public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
    String line = value.toString();
    StringTokenizer tokenizer = new StringTokenizer(line);
    while (tokenizer.hasMoreTokens()) {
        word.set(tokenizer.nextToken());
        context.write(word, one);
    }

    // code that starts a new Job.

}

Мне интересно узнать, где context.write () заканчивает записывать данные. До сих пор я столкнулся с:

FileOutputFormat.getWorkOutputPath(context);

Что дает мне следующее местоположение на hdfs:

hdfs://localhost:9000/tmp/outputs/1/_temporary/_attempt_201112221334_0001_m_000000_0

Когда я пытаюсь использовать его в качестве входных данных для другой работы, это дает мне следующую ошибку:

org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/tmp/outputs/1/_temporary/_attempt_201112221334_0001_m_000000_0

Примечание: задание запускается в Mapper, поэтому технически временная папка, в которую записывается задача Mapper, выводится, когда начинается новое задание. С другой стороны, он по-прежнему говорит, что входной путь не существует.

Любые идеи, где временный вывод записывается? Или, может быть, в каком месте я могу найти выходные данные задачи «Карта» во время работы с этапами «Карта» и «Сокращение»?

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

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