(하둡) 맵리듀스에서 압축사용하기

입력 파일이 압축되면 맵 리듀스는 파일 확장명을 통해 사용할 코덱을 결정하고 파일을 읽을 떄 자동으로 압축을 해제할 것입니다.

맵리듀스 잡의 출력을 압축하려면 잡 환경설정에서 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 클래스명          맵 출력에 사용할 압축 코덱






댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬