복붙노트

[HADOOP] 하둡 : 출력 파일을 두 번 출력을 가지고

HADOOP

하둡 : 출력 파일을 두 번 출력을 가지고

나는 input.txt를, 하둡 프로그램을 실행하고 그리고 나의 입력 파일로 다음과 같은있다 :

1
2

mapper.py:

import sys
for line in sys.stdin:
    print line,
print "Test"

reducer.py:

import sys
for line in sys.stdin:
    print line,

언제 하둡없이 실행 : $ 고양이 ./input.txt | ./mapper.py | 예상대로 ./reducer.py 출력은 :

1
2
Test

출력의 후반 부분은 다소 "배"것 같다 (여기서 설명) 그러나, 스트리밍 API를 통해 하둡을 통해 그것을 실행 :

1
2
Test    
Test

내가 하둡을 통해 프로그램을 실행할 때이 때문에 실패의 1/4 기회가 같은 Aditionally, 그것은 보인다

나는 약간의 시간이 검토 한 내가받지 못했습니다 무엇을 알아낼 수 없습니다. 사람이 이러한 문제를 도울 수있는 경우에, 나는 크게 감사하겠습니다! 감사.

편집 : input.txt를이다 :

1
2
3
4
5
6
7
8
9
10

출력은 다음과 같습니다

1   
10  
2   
3   
4   
5   
6   
7   
8   
9   
Test    
Test

해결법

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

    1.동일한 출력을 제공한다. 당신은 mapper.py하는 감속기의 위치를 ​​지정하는 것 같아요. 당신이 reducer.py하는 올바른 경로를 제공하고 있는지 확인

    동일한 출력을 제공한다. 당신은 mapper.py하는 감속기의 위치를 ​​지정하는 것 같아요. 당신이 reducer.py하는 올바른 경로를 제공하고 있는지 확인

  2. from https://stackoverflow.com/questions/19011036/hadoop-output-file-has-double-output by cc-by-sa and MIT license