2010-06-13 3 views
1

이것은 관리 콘솔의 AWS에서 Map Reduce를 처음 시도한 것 중 하나입니다. AWS S3에 업로드 된 내 runnable jar가 Hadoop 0.18에서 개발되었으며 내 로컬 컴퓨터에서 작동합니다. 설명서에서 설명한대로 입출력을 위해 S3 경로를 jar의 인수로 전달했습니다. 그러나 문제는로드하는 동안로드해야하는 다른 경로 (문자열) 인 세 번째 인수입니다. 작업이 실행 중입니다. 그 파일은 S3 버킷에도 있지만, 항아리가 경로를 인식하지 못하는 것 같아서로드하는 동안 FileNotFound 예외가 발생합니다. 이것은 다른 두 경로와 정확히 같은 경로이기 때문에 이상합니다.지도 Amazon에서 작업 줄이기 : 맞춤 jar에 대한 인수

누구나 아시겠습니까?

루카

답변

0

Sonal는 귀하의 제안에 감사드립니다. 결국 솔루션은 DistributedCache를 사용하고있었습니다.

작업을 실행하기 전에 파일로드 필자는 confiure 메서드를 재정의하고 분산 캐시 (이미 파일과 함께로드 됨)에서 파일을 가져와 필요로하는 맵 클래스 내에서 액세스 할 수 있습니다.

루카에게,

0

이것은, http://meghsoft.com/blog/에서 2 장을 확인하십시오 AWS에 문제가 감사드립니다. FileSystem.get (uri, conf)를 사용하여 경로를 지원하는 파일 시스템을 얻을 수 있는지 확인하십시오.

희망이 도움이됩니다.

Sonal

+0

Sonal을 주셔서 감사합니다 귀하의 제안에 감사드립니다. 이것이 올바른 방향이어야한다고 생각합니다. 또한, FileInputStream 대신 문자열 경로가 필요한 것으로 충분하다는 것을 알았습니다. 함께 시도했습니다. classifierPath = args [2]; FileSystem inputFS = FileSystem.get (URI.create (classifierPath), conf); ObjectInputStream objectClassifierStream = 새 ObjectInputStream (inputFS.open (새 경로 (classifierPath)))); \t \t \t loadedClassifier = CRFClassifier.getClassifier (objectClassifierStream); 하지만 objectClassifierStream을로드 할 때 여전히 문제가 있습니다. 예외 "잘못된 헤더". 코드에서 실수를했을 수도 있습니까? 감사합니다. – zero51