복붙노트

[HADOOP] MapReduce의 재귀 계산을 사용하여

HADOOP

MapReduce의 재귀 계산을 사용하여

나는 프로그램을 줄일지도에 일하고 A1은 B1이 값이 키와 연결된 형태의 설계 계산에 대해 생각했다

  a1/b1, a1+a2/b1+b2, a1+a2+a3/b1+b2+b3 ...

그래서 감속기의 모든 단계에서 나는 이전 값을 요구한다. 지도는 특정 키와 관련된 값을 읽을 수 있습니다 모든 단계에로 줄이기로 어떻게이를 설계한다.

당신은 질문이 명확하지 않다 생각한다면, 당신은이 일반적인 질문으로 나를 인도 할 수 있습니까?

보다 일반적인 질문 : 어떻게지도에서 재귀가 감소하여 피보나치 시리즈를 개발하는 것?

내 수정 된 설계를 도와 줄 수

 key1, V1,V2,V3
 Key2, V4,V5,V6

매퍼 출력

  Key1_X V1
  Key1_Y V2
  Key2_X V4
  Key2_Y V5

감속기 출력

  Key1_X {V1,.....}
  Key1_Y {V2,.....}

마찬가지로 지금 다음 매퍼 단계이다. 나는이 같은 목록을 만들 수 있습니다 :

   key1 {V1,....} {V2,....}
   Key2 {V4,....} {V5,....}

이 작업을 수행하는 나의 이유는 수행하는 것입니다 :

   Key1 {V1/V2, V1+V6/V2+V7, V1+V6+..../V2+V7+.. , .........}

그것은이 작업을 수행 할 수 있습니까? 데이터 세트가 매우 크기 때문에, 그래서 그것을지도가 감소 사용하는 것이 더 좋을 것이라 생각합니다.

디자인이 더 효율적으로 만드는 데 도움이 변화 할 것인가?

해결법

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

    1.피보나치 (그리고 당신이 너무 특정 문제에 표시된대로)와 가장 큰 문제는이 시리즈의 모든 용어 사이의 의존이다. 먼저 이전 조건을 계산하지 않고 나중에 조건을 계산할 수 없습니다.

    피보나치 (그리고 당신이 너무 특정 문제에 표시된대로)와 가장 큰 문제는이 시리즈의 모든 용어 사이의 의존이다. 먼저 이전 조건을 계산하지 않고 나중에 조건을 계산할 수 없습니다.

    당신이 독립적 인 조각으로 작업을 분할 할 수 있습니다 경우 맵리 듀스는 매우 좋다.

    나는이 작업을 수행하는 쉬운 방법을 볼 수 없습니다.

    그래서 어떤 구조 "강제"맵리 듀스는 확장 성 이점을 깰 것이 문제를 해결합니다. 따라서 당신의 마음에 드는 프로그램 언어의 간단한 최적화 루프는 맵리 듀스 알고리즘을 능가 할 것이다.

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

    2.이 세 가지를 계산하기 위해 매퍼 / 감속기 쓰기 :

    이 세 가지를 계산하기 위해 매퍼 / 감속기 쓰기 :

    the sum of a_i
    the sum of b_i
    their ratio
    
  3. from https://stackoverflow.com/questions/6712959/recursive-calculations-using-mapreduce by cc-by-sa and MIT license