2013-10-30 1 views
1

MapReduce - hadoop world를 처음 사용했습니다. 그리고 구성 및 문서에서 그들이 지정하고 있습니다 매퍼와 레 듀서의 수. 실제로 무엇을 의미합니까? 내 doulbts는 다음과 같습니다 :매퍼 및 리듀서의 수. 그게 무슨 뜻이야?

  1. 매핑/축소가 수행되는 레벨 수를 지정하고 있습니까? 즉, 감속기의 수 = 2이면 감속 방법은 2 번 호출됩니다. 그렇지?
  2. 병렬 작업중인 매퍼/감속기 스레드의 수를 지정하고 있지만 각각 한 번만 매핑/축소를 수행합니다.

어느 것이 맞습니까? 또는 다른 무엇을 의미합니다. 혼란 스러워요. 제발 대답하십시오.

답변

3

아니, 완전히 잘못되었습니다. maptasks 수 지정

  1. 입력 포맷 입력 분할의 수 = 100 개 분할 한지도 태스크를 결정하고, 프레임 워크에 대한 힌트를 제공한다.
  2. 지도 작업 출력의 수는이고, 1000 개의 맵 출력 키가 있고 5 개의 작업을 줄이면 각각 약 200 개의 키가 생성됩니다. 각 키에 대해 reduce 함수가 호출되므로 약. 필자의 예에서는 200 회 줄일 수있다.
  3. maptasks 수를 줄이면 병렬 처리에 대해 아무런 언급이 없습니다. 노드 당 병렬 스레드 수는 tasktracker에 의해 결정됩니다. 따라서 맵의 수를 지정하고 tasktracker가 사용할 수있는 슬롯을 줄여과 병렬로 실행해야합니다. 이것은 mapred.tasktracker.map|reduce.tasks.maximum으로 구성됩니다. 감속기 (슬롯에 있음)가 작업을 수행한다는 점에 유의하십시오. 따라서 감소 슬롯의 수와 감소 작업의 수를 적절히 구성하는 것이 중요합니다. 총 10 개의 슬롯을 줄이면 적어도 10 개의 작업을 줄이거 나 일부 슬롯이 유휴 상태가되기를 원합니다. 당신이지도-줄이기 위해 처음으로
+0

오. 그때 나에게 그 구성을 줄 수 –

+0

여기 좀보세요 : http://hadoop.apache.org/docs/r0.18.3/mapred_tutorial.html#Job+Configuration 당신은 당신의 hadoop 버전, 모든 매개 변수가 모든 버전에있는 것은 아닙니다! – DDW

관련 문제