2011-03-15 9 views
0

필자는 자신의 Partitioner를 사용하여 출력이 여러 다른 감속기 인스턴스에 매핑되는 매퍼를 사용합니다. 필자는 주어진 reducer 인스턴스에 항상 주어진 것을 확실히 보낸다. 내가 궁금해하는 점은 어떤 이유로 입력 데이터가 비뚤어지고 특정 키에 대해 백만 개의 레코드 (더 정확하게 #records가 메모리에 맞지 않음)가 나오면 감속기를 사용할 수있는 방법이 있는지의 여부입니다. 아직도 잘 작동합니까? 내 말은, 감속기에 게으른 로더가 전달되는 것입니다.hadoop 감속기의 reduce() 호출이 취할 수있는 최대 레코드 수는 얼마입니까?

+0

불량. [hadoop # 감속기 문서] (http://hadoop.apache.org/mapreduce/docs/current/mapred_tutorial.html#Reducer)는 분명히 reduce는 키당 한 번 호출됩니다. 이것은 나의 질문을 분명히한다. – Bhargava

답변

2

Reducer와 관련된 값의 유일한 실제적인 제한은 로컬 디스크의 여유 공간으로 Map 및 Reduce 측면 모두입니다. 이는 더 많은 노드를 추가하여 관리 할 수 ​​있으므로 스큐에 따라 작업 맵/축소가 더 많습니다.

예, Iterator는 메모리와 디스크의 조합에서 값을로드합니다.

+0

확인과 명확한 설명을 해주셔서 감사합니다. – Bhargava

관련 문제