복붙노트

[HADOOP] Hadoop - 감속기는 어떻게 데이터를 가져 옵니까?

HADOOP

Hadoop - 감속기는 어떻게 데이터를 가져 옵니까?

매퍼가 감속기 당 1 개의 파티션을 생성한다는 것을 알고 있습니다. 감속기는 복사 할 파티션을 어떻게 알 수 있습니까? 단어 수 계산을 위해 매퍼를 실행하는 2 개의 노드가 있고 2 개의 축소 기가 구성되어 있다고 가정 해 보겠습니다. 각지도 노드가 2 개의 파티션을 생성하고 두 노드의 파티션에 키가 같은 단어가 포함될 가능성이있는 경우 감속기가 어떻게 올바르게 작동합니까?

예 :

노드 1이 파티션 1과 파티션 2를 생성하고 파티션 1이 "WHO"라는 키를 포함하면.

노드 2가 파티션 3과 파티션 4를 생성하고 파티션 3이 "WHO"라는 키를 포함하면.

파티션 1과 파티션 4가 감속기 1 (그리고 감속기 2에 남아 있음)에 연결된 경우 감속기 1이 정확한 단어 수를 어떻게 계산합니까?

이것이 가능하지 않을 경우 파티션 1과 파티션 3이 감속기 1로 이동하게됩니다. 어떻게 Hadoop이이를 수행합니까? 다른 노드의 주어진 키 - 값 쌍이 항상 동일한 감속기로 이동하는지 확인합니까? 그렇다면 어떻게해야할까요?

감사, 수레 스.

해결법

  1. ==============================

    1.상황에서는 파티션 1과 파티션 3이 둘 다 'WHO'키로되어 있기 때문에 두 파티션이 동일한 감속기에 연결되었음을 보증합니다.

    상황에서는 파티션 1과 파티션 3이 둘 다 'WHO'키로되어 있기 때문에 두 파티션이 동일한 감속기에 연결되었음을 보증합니다.

    hadoop에서, 한 번에 tasktracker 인 reduce 작업의 최대 수는 mapred.tasktracker.reduce.tasks.maximum 속성에 의해 결정됩니다. MapReduce 작업에 대한 감속기의 수는 -D mapred.reduce.tasks = n을 통해 설정됩니다.

    따라서 지정된 키가있는 값은 항상 동일한 감속기로 이동합니다.

  2. from https://stackoverflow.com/questions/10527271/hadoop-how-does-reducer-gets-it-data by cc-by-sa and MIT license