Вот вариант использования:
входные URL-адреса считываются картами, а затем отправляются после некоторой фильтрации. Затем разделители разбивают их на основе их имени хоста.
У меня есть глобальное ограничение на выходные URL-адреса после запуска задания уменьшения карты. Я распределяю это равномерно по всем редукторам. т.е. если глобальный предел равен 1000, а количество редукторов равно 5, то каждый редуктор будет выдавать не более (1000/5 = 200) URL-адресов в качестве вывода.
Проблема в том, что если есть URL-адреса только с 2 хостов (из-за пользовательского ввода) и существует 100000 URL-адресов каждого из этих 2 хостов, 2 редуктора, обрабатывающие эти URL-адреса (один и тот же хост, один и тот же раздел), ограничат только 200 URL-адресов каждый для выход. Остальные редукторы не получают никаких данных для обработки из-за секционирования и выдают 0 записей.
Таким образом, несмотря на то, что у меня было 100000 URL-адресов на хост и глобальное ограничение в 1000, на выходе было только 400 URL-адресов (200 URL-адресов на хост).