map () 및 reduce ()가 같은 유형의 키/값 쌍을 반환해야합니까?

StackOverflow https://stackoverflow.com/questions/1859420

  •  13-09-2019
  •  | 
  •  

문제

MapReduce 작업 (특히 관련이있는 경우 Hadoop)을 작성할 때 map() 그리고 a reduce() 함수, 둘 다 키/값 쌍 시퀀스를 산출합니다. 키와 값의 데이터 유형은 응용 프로그램에 의해 자유롭게 정의 될 수 있습니다.

워드 카운팅의 표준 예에서 두 기능 모두 유형의 쌍을 산출합니다. (string, int) 열쇠는 단어와 가치가 발생합니다. 여기에서 - 그리고 내가 본 다른 모든 예에서 출력 된 키와 값 유형은 두 기능간에 일관성이 있습니다.

요/값 쌍의 유형이 map() 그리고 reduce() MapReduce의 응용 프로그램 내에서 동일합니까? 그렇다면 : 왜?

도움이 되었습니까?

해결책

아닙니다. 물론, 맵의 출력 쌍의 유형과 감소의 입력 쌍은 다른 하나로 전달되기 때문에 동일해야합니다.

그러나 맵이 문서에서 단어를 계산 한 경우, 평균 단어 주파수를 계산 한 경우, 예를 들어, 맵 쌍과 다른 유형을 출력하는 작업이 줄어드는 작업이있을 수 있습니다. 이 경우 맵은 정수를 방출하지만 감소하면 부동 소수점 번호가 방출됩니다.

다른 팁

맵 및 축소 출력은 다를 수 있습니다. 그러나 응용 프로그램에 자신이 있다고 말해야합니다. 다음은 다음과 같습니다.

setoutputkeyClass () 및 setoutUptValueClass () 메소드는 맵의 출력 유형을 제어하고 종종 동일합니다.

다른 경우 SetMapOutputKeyClass ()와 SetMapOutputValue를 통해 맵 출력 키/값 유형을 설정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top