2013-10-22 3 views
-4

Java MapReduce 프로그램을 작성 중입니다. 예를 들어 HDFS에있는 두 개의 파일이 있습니다. 내 프로그램은 HDFS에서이 두 파일을 읽고 두 파일에서 같은 줄을 찾아 결과를 출력합니다. 예컨대 :Hadoop MapReduce가 HDFS에서 다른 입력 파일을 처리합니다.

a.log: 
    apple 
    computer 
    bird 
b.log: 
    steve 
    pear 
    apple 

최종 출력해야

apple 

내가 어떻게 할 수 있습니까? a.log를 먼저 읽고 해시 집합에 저장하려고 시도하지만 작업 추적자가 서로 메모리를 공유 할 수 없기 때문에 작동하지 않습니다. 아무도 아이디어가있을 수 있니? 또는 Hadoop MapReduce에는 이런 종류의 OOTB가 없습니까?

+1

이것은 보유중인 질문의 재 게시입니다. [http://stackoverflow.com/questions/19505043/hadoop-mapreduce-process-multiple-input-files](http://stackoverflow. co.kr/questions/19505043/hadoop-mapreduce-process-multiple-input-files)를 참조하십시오. – cabad

답변

0

두 파일에 조인 작업을 실행하려고합니다. 이 작업을 수행하려면 매퍼을 입력하고 (word,filename) 쌍을 내 보냅니다. 감속기에서 두 파일 이름이 방출되기 전에 값 사이에 있는지 확인합니다. 경로를 InputSplit 밖으로 가져 와서 파일 이름을 가져올 수 있습니다.

이것은 'Hadoop in Practice'책에 설명되어 있으며, hadoop을 더 심각하게 생각하고 있다면 읽기를 권장합니다.

이 대답이 도움이된다면 답을 표시하십시오.

관련 문제