Является ли редьюсер узким местом в структуре MR

Я хочу понять, что делать в следующем случае. Например, у меня есть 1 ТБ текстовых данных, и давайте предположим, что 900 ГБ из них — это слово «Привет». После каждой операции сопоставления у меня будет коллекция пар ключ-значение ‹"Hello",1>.

Но как я уже сказал, это огромная коллекция, 900гб и я так понимаю редьюсер всю ее достанет и раздавит.

Оперативная память моего редуктора составляет всего 80 ГБ.

редуктор действительно раздавит?? Другими словами, является ли reducer узким местом горизонтального масштабирования?


person Abhijeet Sachdev    schedule 19.09.2018    source источник


Ответы (1)


Да, все одинаковые ключи от всех картографов направляются в один редюсер.

Непонятно, у вас 900 ГБ только одного слова или куча больших текстовых документов с кучей слов.

В последнем случае строка «Hello» действительно не занимает так много данных. Ни одно целое число.

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

person OneCricketeer    schedule 21.10.2018