Я думаю, это зависит от того, какой стиль результата вы хотите, отсортированный результат или несортированный результат?
Если вам нужно отсортировать результат, я думаю, что hadoop не подходит для этой работы. Есть две причины:
- ВХОДНЫЕ ДАННЫЕ будут храниться в разных блоках (если они достаточно большие) и разбиты на несколько разделений. Каждое разделение будет сопоставлено одной задаче карты, и весь вывод задач карты будет собран (после процессов разделения / сортировки / объединения / копирования / слияния) в качестве входных данных сокращения. На этих этапах сложно держать ключи в порядке.
- Функция сортировки существует не только после обработки карты в задаче карты. Когда выполняется процесс слияния во время задачи сокращения, также есть опция сортировки.
Если вам не нужно сортировать результат, я думаю, этот патч может быть тем, что вы хотите:
Поддержка отсутствия сортировки потока данных в выводе карты и сокращение фразы слияния: https://issues.apache.org/jira/browse/MAPREDUCE-3397