Комбинаторы не собираются глобально сортировать ваши данные - они в основном представляют собой кэш для частичной агрегации данных редуктора.
Обычно вы не хотите сортировать выходные данные каждого картографа отдельно, но если вы это делаете, почемуне добавлять идентификатор файла сопоставления как часть вашего вывода и использовать пользовательскую функцию разбиения, чтобы выходные данные каждого преобразователя были разделены по отдельности и, следовательно, отсортированы отдельно, чтобы выходные данные любого преобразователя всегда были в одном файле?Вы также, вероятно, захотите сгруппировать по идентификатору файла, чтобы получить отсортированный вывод для каждого входного файла отдельно.
Мне интересно, почему вы все равно хотите отдельно сортировать вывод mapper?
Еще одна мысль: Hadoop на самом деле собирается выполнить сортировку на стороне отображения («перемешивание»), если вы сортируете свои выходные данные, так что вы, вероятно, могли бы не удалять эти временные файлы, если вы работали со многими редукторами.