Можно ли отключить сортировку в hadoop? - PullRequest
6 голосов
/ 31 января 2012

Моя работа не требует сортировки, только агрегация информации по ключу.Поэтому я думаю, можно ли отключить сортировку всей информации в порядке увеличения производительности.


Примечание: я не могу установить число редукторов в ноль, потому что мне нужно объединить данные между многими преобразователями.Мне просто не интересен отсортированный результат с одним редуктором.

Ответы [ 3 ]

0 голосов
/ 15 июня 2018

Нет, сортировка в MapReduce в основном выполняется для внутренних целей , а не для сортировки конечных результатов.Сортированный ввод обеспечивает хорошую производительность при создании списка значений для уникальных ключей, которые передаются как Значения> аргументы при вызове функции redu ().

0 голосов
/ 21 августа 2018

Перестановка и сортировка в Hadoop MapReduce не выполняются вообще, если вы указываете нулевые редукторы (setNumReduceTasks(0)). а также Число редукторов может быть установлено равным 0 в классе драйвера с помощью job.setNumreduceTasks(0). Это показывает, что фазы редуктора нет и она имеет только фазу карты. Она вызывается как задание только для карты.

0 голосов
/ 01 апреля 2016

Одной из основных целей сортировки выходных данных карты является то, что когда кортежи достигают редуктора, необходимо выполнить редуктор), чтобы вызвать задачу редуктора, с помощью отсортированного списка вывода карты он может составить список только путем последовательного сканирования (когда он видитдругой ключ, то просто создайте новый список), если выходные данные карты не отсортированы, то он должен сканировать весь список, чтобы сформировать список с тем же ключом.

...