1

간단한 MapReduce 작업의 Qizmt를 사용하여 로컬 단일 시스템 테스트를 실행하고 있습니다. 이것은라고MapReduce가 키를 건너 뛰고 있습니까?

output.Add(rKey, rValue); 

가의 백만 번 가정 해 봅시다, 그리고 키는 1,2,3,4,5,6 등이다 - 각각의 고유 한 (I를 다음 '지도'단계의 끝에서 나는 부르고 결국 나는 테스트를하고있다). 나는 이것이 의도 한대로 진행되고 있음을 확인했다. 그것은. 함수는 백만 번 독립 시간이라고하며 값 입력은 정확합니다.

놀랍게도 'Reduce'단계에서만 100 가지 정도의 키가 실제로 수신됩니다 (즉, 'Reduce'기능은 100 배 정도라고합니다). 이러한 키는 0, 383, 766, 2858, 3241, 5716 등과 같은 패턴으로 매핑 된 목록에서 거의 임의로 선택되는 것 같습니다.

'Reduce'로 만드는 일련의 키는 다음과 같습니다. 일관된. 즉. 나는 0, 383, 766 등을 일관 적으로 각 작업 실행을 얻게 될 것이다. 그러나 두 번째 시스템을 클러스터에 추가하면이를 수행하는 키 세트가 완전히 변경됩니다!

'지도'와 'Reduce'사이의 무대는 내게 약간의 신비입니다.지도 기능이 의도 한대로 정확하게 작동하는 것처럼 보이기 때문에 어디에서보아야할지 모르겠습니다. (즉, 출력 '백만 배). 병렬 처리에 대한 더 많은 경험을 가진 사람이라면 어디에서 내가보고 있어야하는지 또는이 동작을 유발할 수있는 어떤 생각이 있습니까?

+0

[MapReduce 위키 백과 문서] (http://en.wikipedia.org/wiki/MapReduce)에 따르면 Map과 Reduce 간의 단계는 파티션 및 비교입니다. 아마도 파티션 기능은 하나 이상의 감속기를 가지고 있다고 생각합니까? –

+0

아마도 Qizmt가 파티션 기능을 존재에서 추상화 한 것처럼 보일지도 모르겠다. 나는 그것을 어떻게 분석 할 것인지 모르겠다. – Rushyo

답변

0

해결되지 않았습니다. 궁극적으로 프로젝트를 다른 언어로 썼고 같은 문제가 발생하지 않았습니다. 어쨌든 Qizmt는 전혀 업데이트되지 않는 것 같습니다.