Мне недавно пришлось выполнить задание, которое требовало завершения всех картографов перед передачей результатов на стадию объединения (из-за способа, которым были обработаны файлы). Эта функция доступна для редуктора путем настройки следующих параметров -
// force 100% of the mappers to conclude before reducers start
job.set("mapred.reduce.slowstart.completed.maps", "1.0");
Я не смог найти подобную конфигурацию для стадии объединения. В конце концов я разделил свою работу на две части, при этом этап объединения работал как редуктор, а мое первоначальное сокращение было передано в задание № 2 (mapper2 просто передает данные без их изменения).
Мне было интересно - есть ли способ, который я пропустил, чтобы настроить 100% завершение карты перед объединением? спасибо.