Промежуточный выход, когда указан редуктор - PullRequest
0 голосов
/ 11 марта 2012

Я написал работу Hadoop Map Reduce.Когда я запускаю его локально, я замечаю, что если я не укажу задачи сокращения, в выходной каталог будут записаны временные файлы.Если я указываю редукторы, временные файлы не записываются.Это нормальное поведение?Я ожидаю увидеть временные файлы, записанные иначе, это будет означать, что маппер пытается сделать все в памяти, а затем передать в редуктор в памяти.Это кажется мне неправдоподобным.

Любое понимание того, как / когда / где картограф записывает промежуточный вывод в файловую систему, будет оценено.

Спасибо

1 Ответ

9 голосов
/ 11 марта 2012

Задачи сопоставления записывают свои выходные данные на локальный диск, а не в HDFS. Вывод карты промежуточный вывод: он обрабатывается с помощью задач сокращения для получения конечного результата, и как только работа завершена, вывод карты можно выбросить. Так что сохраняя его в HDFS, с репликацией, было бы излишним.

Но если мы установим число редукторов равным 0, то выходные данные карты будут сохранены в HDFS как окончательный результат. Нет фазы уменьшения, поэтому вывод картографа является выводом всей работы.

Дополнительно здесь - это способ просмотра промежуточных файлов, даже если указан редуктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...