Наверное каждый, кто начинал разбираться с hadoop и начинал с примера подсчета слов, задавал себе и окружающим один и тот же вопрос: зачем пересылать втупую все пары по сети, когда более эфективно было бы сделать локальную свертку, а только потом переслать по сети агрегаты. Hadoop не дураки писали, соответственно такая возможность есть!
Называется она combiner.
Как видно на картинке выше с выхода map пары key - value попадают на combiner, где выполняется код reduce. В итоге процент пересылки по сети значительно сокращается. Ура! Но как вы пониимаете далеко не всегда можно использоавть данную возможность. В контексте задач вычисления агрегатов - "золотая" возможность, о которой вы должны помнить.
Если есть вопросы - не стесняйтесь их задавать!
No comments:
Post a Comment