2014-02-26 2 views

답변

2

isSplitable이 false를 반환하면 단일 매퍼 만 전체 파일을 처리합니다.

필요에 따라 FileInputFormat을 직접 구현하고 isSplitable에 true/false를 반환 할 수 있습니다.

+0

내 파일 크기가 블록 크기보다 큰 경우 (예 : 129MB, 최대 블록 크기가 128MB 인 경우). isSplittable()을 false로 설정하더라도 파일은 두 개의 블록으로 분할됩니다. 그렇다면이 함수의 사용법은 무엇입니까? 또한 단일 매퍼라고 말하면 단일 컴퓨터/코어를 의미합니다. 권리? – Sugandha

+1

여기서 splittable은 HDFS 스토리지 레벨 (블록 크기가 적용되는 위치)을 의미하지 않습니다. 즉, 매핑을 매퍼로 전달하기 위해 입력을 분리하는 방법을 의미합니다. 매퍼는 전체 파일을 가져옵니다 (크기는 중요하지 않음). 싱글 매퍼 (Single Mapper) - 저는 싱글 머신/코어를 의미하지 않습니다 - 단일 매퍼 작업을 의미합니다. Pls 참조 : http://wiki.apache.org/hadoop/HadoopMapReduce – Jasper

+0

네, 알겠습니다. 고마워요 @ 재스퍼 – Sugandha

0

파일이 tar.gz 또는 zip 파일과 같이 스트림 압축 된 경우 및 레코드의 행 수가 가변적 인 경우. 동일한 레코드의 일부가 한 블록에, 나머지 블록이 다른 블록에 들어갈 가능성이 있습니다. 따라서 기록을 읽도록 작성된 프로그램이 중단 될 수 있습니다.

이와 같이 이러한 시나리오에서는 isSplittable()을 false로 설정합니다.