2014-06-20 3 views
0

Hadoop을 여러 입력 파일과 함께 사용하려고합니다. 현재 나는 처리 할 큰 파일 하나와 일종의 색인 역할을하는 작은 파일 두 개를 가지고 있습니다.Hadoop Map 전체 파일 Java에서

내 문제는 전체 인덱스 파일을 유지할 필요가 있다는 것입니다. 큰 파일이 각 매퍼에 배포되는 동안 분리되지 않았습니다. Hadoop API에 의해 제공되는 방법이 있습니까? picture

업데이트 :

산티아고에서 제공하는 지침에 따라 경우

는 여기에 내가 달성하기 위해 노력하고 무엇을 나타냅니다 사진에 대한 링크입니다, 제대로 자신을 표현하지 않은 경우 , 이제 Amazon의 S3에서 다음과 같이 분산 캐시에 파일 (또는 URI)을 삽입 할 수 있습니다.

job.addCacheFile(new Path("s3://myBucket/input/index.txt").toUri()); 

그러나 매퍼가 읽으려고하면 '파일을 찾을 수 없음'예외가 발생합니다. 이는 저에게 이상합니다. S3 위치를 확인했는데 모든 것이 잘된 것 같습니다. 다른 S3 위치를 사용하여 입력 및 출력 파일을 소개했습니다.

URI[] cacheFile = output.getCacheFiles(); 
BufferedReader br = new BufferedReader(new FileReader(cacheFile[0].toString())); 
while ((line = br.readLine()) != null) { 
    //Do stuff   
} 

I : I는 분산 캐시에서 파일을 읽기 위해 사용하는 코드를 다음

FileNotFoundException: s3:/myBucket/input/index.txt (No such file or directory)

된다

오류 (S3 후 단일 슬래시주의) Amazon의 EMR, S3 및 버전 2.4.0 을 사용하고 있습니다. Hadoop.

+0

FileNotFoundException을 수정 했습니까? – Gevorg

+0

예, 답장으로 해결되었습니다. –

답변

관련 문제