2013-10-26 3 views
0

내가 있다고 가정 두 세트 :기본 매퍼 - 감속기 클래스

hello world 
bye world 

hello earth 
new earth 

와 나는이 매퍼 클래스 또는 감속기 클래스를 지정하지 않는 작업을지도-감소 실행하려면, 그래서 기본 매퍼 (mapper)와 감속기 (reducer)가 호출됩니다 - 둘 다 신원 기능입니다. 작업을 실행할 때 출력은 다음과 같습니다 ::

0  hello world 
0  hello earth 
12  new earth 
12  bye world 

왜 키가 0과 12인지 혼란 스럽습니다. 나는 main()에서 이러한 라인 ::

// job.setMapperClass(Map.class); 
// job.setCombinerClass(Reduce.class); 
// job.setReducerClass(Reduce.class); 

그래서, 내 질문은 출력 키 여기에 무엇이다를 주석으로 난 그냥 기본 매퍼와 감속기를 사용? 왜 0, 0, 12, 12처럼 보이나요?

답변

2

0,0,12 및 12는 입력 데이터의 파일 오프셋입니다. 텍스트 입력의 경우 매퍼에 대한 K는 파일 오프셋이고 값은 입력 라인입니다. 자세한 내용은 this을 확인하십시오.

관련 문제