스내피 (압축)
스내피(Snappy)는 구글에서 자체 개발한 압축 라이브러리이며, 최고의 압축률 보다는 적정 수준의 압축률을 제공하면서 빠르게 압축하고 해제하는 것을 목표로 한다. 또한 초당 250MB 정도를 압축하고, 다른 압축에 비해 CPU 자원도 덜 소모한다. 스내피의 공식 홈페이지에서 여기서 간단한 소개문서와 라이브러리를 다운로드할 수 있다.
매퍼의 출력 데이터를 압축하지 않았을 때, Gzip과 스내피로 매퍼의 출력 데이터를 압축했을 때의 성능을 비교할 경우, 스터디용으로 만든 500메가 정도의 데이터를 분석했더니 아래와 같은 결과가 나왔다.
카운터
|
압축 미적용
|
Gzip 적용
|
스내피 적용
|
맵리듀스 잡 수행 시간
|
1분14초
|
1분40초
|
1분2초
|
FILE_BYTES_READ
|
370,448,652
|
908,885
|
17,652,690
|
HDFS_BYTES_READ
|
445,384,492
|
445,384,492
|
445,384,492
|
FILE_BYTES_WRITTEN
|
555,848,855
|
1,536,514
|
26,649,694
|
HDFS_BYTES_WRITTEN
|
1,766
|
725
|
917
|
Reduce shuffle bytes
|
157,260,456
|
383,211
|
8,820,643
|
Spilled Records
|
27783,630
|
27,783,630
|
27,783,630
|
Map output bytes
|
166,701,780
|
166,701,780
|
166,701,780
|
CPU time spent (ms)
|
165,200
|
245,940
|
140,870
|
Total committed heap usage
|
2,068,316,160
|
2,064,973,824
|
2,010,644,480
|
압축을 적용했을 때가 파일 I/O가 확실히 감소했으며, Gzip에 비해 스내피의 압축율이 떨어지지만, 실행 시간과 CPU 점유율은 Gzip 보다 눈에 띄게 좋아졌다.
각주
|
|