В чем разница между mapreduce.job.running.reduce.limit и mapred.reduce.tasks - PullRequest
0 голосов
/ 02 июля 2019

Мы используем Hadoop 2.7.1, и я обнаружил, что ниже 2 параметра установлены в некотором существующем коде MapReduce,

mapreduce.job.running.reduce.limit=500
mapred.reduce.tasks=50

Кажется, что последний работает, так как в итоге создано 50 файлов part- *.

Кто-нибудь знает разницу между этими двумя параметрами, и что на самом деле произойдет, если люди укажут оба параметра? Спасибо.

1 Ответ

0 голосов
/ 02 июля 2019

Из официального документа:

mapreduce.job.running.reduce.limit

Максимальное количество одновременных сокращений задач на одно задание.Нет предела, если это значение равно 0 или отрицательно.

что на самом деле произойдет, если люди укажут их оба?

Не повлияет на ваш пример.Но если вы установите ограничение в 50, а для задач - 500, hadoop не будет запускать все 500 редукторов одновременно, даже если для этого достаточно кластерной емкости.

...