복붙노트

[HADOOP] 각각의 값을 사용 MapReduce에 대한 상위 N의 B 값

HADOOP

각각의 값을 사용 MapReduce에 대한 상위 N의 B 값

나는 하둡에 새로운 오전과 각 값에 대해 상위 N 값을 찾기위한 맵리 듀스 알고리즘을 작성하는 어려움을 겪고있다. 코드 구현에 어떤 도움이나 가이드는 높게 평가 될 것이다.

Input data
a,1
a,9
b,3
b,5
a,4
a,7
b,1

output
a 1,4,7,9
b 1,3,5

나는 우리가 라인을 읽어 값을 분할가 감속기에 의해 수집 할 수 있도록 해주는 매퍼를 작성해야 믿습니다. 그리고 한 번 감속기에서 우리는 정렬 부분을해야한다.

해결법

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

    1.키 당 값의 수를 충분히 작은 경우, 단지 감속기는 주어진 키와 출력 상위 N에 관련된 모든 값을 읽을 수있는의 간단한 방법은 아마도 가장 좋습니다.

    키 당 값의 수를 충분히 작은 경우, 단지 감속기는 주어진 키와 출력 상위 N에 관련된 모든 값을 읽을 수있는의 간단한 방법은 아마도 가장 좋습니다.

    키 당 값의 수가이 가난한 선택이 될 것입니다 충분히 큰 경우, 복합 키가 잘 작동하는 것입니다, 그리고 사용자 정의 파티션 프로그램과 비교가 필요합니다. 당신은 (이이 같은 감속기에 끝낼 수 있도록, 여기에 'A'또는 'B') 자연 키를 기반으로 분할하고 싶지만하려는 값에 차 종류 (와 감속기는 먼저 가장 큰 값을 볼 수 있도록 ).

  2. ==============================

    2.cohoz 언급 보조 정렬 트릭 당신을 위해 무엇을 찾고있는 것 같다.

    cohoz 언급 보조 정렬 트릭 당신을 위해 무엇을 찾고있는 것 같다.

    멋진 가이드는 저자가 (각 클래스에 대한 정렬 된 순서로 각 정수 타임 스탬프 (1,2,3)을 통해 걸을 찾고 있습니다, 심지어 예에서 (문제와 유사한 구조를 가지고있는, 여기있어 A, B, C) . 당신은 단순히 상위 n 개의 항목에 걸쳐 도보을 방출하는 예에서 감속기를 수정해야합니다 후 중지합니다.

  3. from https://stackoverflow.com/questions/20829548/top-n-b-values-for-each-a-value-using-mapreduce by cc-by-sa and MIT license