클러스터 출력 압축 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

클러스터 출력 압축

출력 데이터 압축

이 기능은 하둡 작업의 출력을 압축합니다. 사용하는 경우 TextOutputFormat 결과는 gzip으로 압축된 텍스트 파일입니다. 에 글을 쓰는 SequenceFiles 경우 결과는 내부적으로 SequenceFile 압축됩니다. 구성 설정 mapred.output.compress를 true로 설정하여 이 기능을 활성화할 수 있습니다.

스트리밍 작업을 실행 중인 경우 스트리밍 작업을 이러한 인수로 전달하여 활성화할 수 있습니다.

-jobconf mapred.output.compress=true

또한 부트스트랩 작업을 사용하여 모든 작업 출력을 자동으로 압축할 수도 있습니다. 다음은 Ruby 클라이언트를 사용하여 이 작업을 수행하는 방법입니다.

--bootstrap-actions s3://elasticmapreduce/bootstrap-actions/configure-hadoop \ --args "-s,mapred.output.compress=true"

마지막으로 사용자 지정 Jar를 작성하려는 경우 작업 생성 시 다음 행을 사용하여 출력 압축을 활성화할 수 있습니다.

FileOutputFormat.setCompressOutput(conf, true);

중간 데이터 압축

작업이 상당한 양의 데이터를 매퍼에서 reducer로 재편성하는 경우 중간 압축을 활성화하면 성능이 향상될 수 있습니다. 맵 출력을 압축하고 코어 노드에 도착할 때 압축을 해제합니다. 구성 설정은 mapred.compress.map.output입니다. 출력 압축과 비슷하게 이 기능을 활성화할 수 있습니다.

사용자 지정 Jar를 작성하려는 경우 다음 명령을 사용합니다.

conf.setCompressMapOutput(true);

아마존에서 스내피 라이브러리 사용하기 EMR

Snappy는 속도에 최적화된 압축/압축 해제 라이브러리입니다. Amazon EMR AMIs 버전 2.0 이상에서 사용할 수 있으며 중간 압축의 기본값으로 사용됩니다. Snappy에 대한 자세한 내용은 http://code.google.com/p/snappy/ 단원을 참조하십시오.