2
내 입력 데이터 파일을 제외하고 내 hadoop 작업에서 각 매퍼 클래스 (맵 메서드)가 hdfs에 넣은 공통 파일을 읽길 원합니다. 이 파일은 각 매퍼로 읽어 들여 내용을 각 매퍼에 저장합니다. 그렇게하는 방법?각 매퍼 클래스가 hadoop에서 동일한 하나의 파일을 읽게하는 방법
내 입력 데이터 파일을 제외하고 내 hadoop 작업에서 각 매퍼 클래스 (맵 메서드)가 hdfs에 넣은 공통 파일을 읽길 원합니다. 이 파일은 각 매퍼로 읽어 들여 내용을 각 매퍼에 저장합니다. 그렇게하는 방법?각 매퍼 클래스가 hadoop에서 동일한 하나의 파일을 읽게하는 방법
는 필요에 따라 다른 접근 방법이 있습니다 :
안녕하세요, @harpun : 답장을 보내 주셔서 감사합니다. 그러나 나는 아직도 혼란 스러울만한 것들을 가지고있다. 나는 [link] (http://developer.yahoo.com/hadoop/tutorial/module5.html#auxdata)에서 분산 캐시 (Distributed Cache)가 hdfs에게 모든 노드에 복사 파일을 보내라고 말한 것을 보았다. 각 노드가 부? 이렇게하면 옵션 (1)과 옵션 (3)의 차이는 무엇입니까 – JoJo
@ user2052141 예, 모든 노드는이 캐시에 저장된 파일의 복사본을 얻을 것입니다. 또한 작업 설정시, 즉 실제로 작업을 실행하기 전에 캐시에 저장 될 파일을 지정해야합니다. 접근법 (1)에서 작업의 모든 단계에서 HDFS의 모든 파일에 액세스 할 수 있습니다. 일반 파일의 경우 (1)은 (3)보다 느립니다. – harpun
안녕하세요, @harpun : 대단히 감사합니다. 또 다른 질문은 DistributedCache.getLocalCacheFiles와 DistributedCache.getCacheFiles의 차이점을 알고 있다는 것입니다. 나는 그것을 구현하기 위해 프로그래밍하고있다 : cacheFiles = DistributedCache.getLocalCacheFiles (job); uris = DistributedCache.getCacheFiles (job); 그러나 cacheFiles는 null이지만 uris는 hdfs의 특정 파일을 가리킬 수 있습니다. – JoJo