복붙노트

[HADOOP] 맵리 듀스는 집합의 최대 값을 찾기위한 방법 키 값 쌍을 설계?

HADOOP

맵리 듀스는 집합의 최대 값을 찾기위한 방법 키 값 쌍을 설계?

나는 맵리 듀스 프로그래머의 초보자입니다. 당신은 나에게 다음과 같은 문제에 대한 키 - 값 쌍을 설계하는 데 도움이 수 있습니까?

문제 문 - 최대 값을 찾아 키를 함께 인쇄

입력 :

   Key       Value
   ABC       10
   TCA       13
   RTY       23
   FTY       45

왼쪽 칼럼에 키 허용 unique.No 중복 될 것이다.

출력 :

   FTY       45

(45) 모든 값의 최대이기 때문에,이 키와 함께 인쇄되어야한다.

당신은지도 (설계 도와)와 () 함수를 줄일 수 있습니까? 두 기능의 키 - 값 쌍 어떻게 될 것인가?

해결법

  1. ==============================

    1.매퍼에서 가장 큰 번호를 기억

    매퍼에서 가장 큰 번호를 기억

    class Mapper {
       V maxV;
       K maxK;
    
       map(K, V, context) {
          if (V > maxV) { maxV = V; maxK = K; }
       }
    
       cleanup(context) {
          context.store(maxK, maxV)
       }
    }
    

    감속기에 동일한 작업을 수행. 단 1 감속기을 가지고 작업을 구성합니다.

  2. from https://stackoverflow.com/questions/44681695/how-to-design-the-key-value-pairs-for-mapreduce-to-find-the-maximum-value-in-a-s by cc-by-sa and MIT license