(하둡) 맵리듀스에서 압축사용하기
입력 파일이 압축되면 맵 리듀스는 파일 확장명을 통해 사용할 코덱을 결정하고 파일을 읽을 떄 자동으로 압축을 해제할 것입니다.
맵리듀스 잡의 출력을 압축하려면 잡 환경설정에서 mapreduce.output.fileoutputformat.compress 속성을 true로 설정하고, 사용할 압축 코덱의 클래스 이름을 mapreduce.output.fileoutputformat.compress.codec 속성에 지정하라.
맵리듀스 잡의 출력을 압축하려면 잡 환경설정에서 mapreduce.output.fileoutputformat.compress 속성을 true로 설정하고, 사용할 압축 코덱의 클래스 이름을 mapreduce.output.fileoutputformat.compress.codec 속성에 지정하라.
<맵리듀스 압축 속성> 속성명 |
타입 | 기본값 | 설명 | ||||
mapreduce.output.fileoutputformat.compress | 불린 | FALSE | 출력압축여부 | ||||
mapreduce.output.fileoutputformat.compress.codec | 클래스명 | org.apache.hadoop.io.compress.DefaultCodec | 출력 압축에 사용할 코덱 | ||||
mapreduce.output.fileoutputformat.compress.type | 문자열 | RECORED | 순차 파일 출력에 사용할 압축 유형(NONE, RECORD, BLOCK) |
* 맵 출력 압축
맵리듀스 애플리케이션이 압축되지 않은 데이터를 읽고 쓰더라도 맵 단계에서 임시 출력을 압축하면 이익이 있다. 맵 출력은 디스크에 기록되고 네트워크를 통해 리듀서 노드로 전송되는데, 이때 단순히 LZO나 LZ4, Snappy와 같은 빠른 압축기를 사용하여 전송할 데이터 양을 줄이면 성능을 향상 시킬 수 있기 때문이다.
<맵출력 압축속성>
속성명 타입 설명
mapreduce.map.output.compress 불린 맵 출력의 압축여부
mapreduce.map.output.compress.codec 클래스명 맵 출력에 사용할 압축 코덱
댓글
댓글 쓰기