1. combiner 사용
reducer에서 shuffling으로 인해 발생하는 네트웍 전달 데이터량을 줄이기 위해 map output에 combiner 적용
( mapper output에서 실행되는 mini reducer )
ex) key별 value 합계 수행시 mapper에서 부분 key별 합계를 수행후 reducer 전달
2. map output compression 사용
mapper와 reducer간 전달 되는 데이터량을 줄이기 위해 mapper output 데이터를 압축
mapred.compress.map.output = true
3. large file 사용
block 사이즈보다 작은 파일들을 사용하면 해당 파일(블럭)을 읽는데 많은 시간이 걸리므로 큰 파일 사용
4. gzip와 같은 non-splittable file 사용지양
gzip와 같은 데이터 분리가 되지 않는 파일을 사용할 경우 gzip 파일 1개당 mapper가 실행되어 데이터 처리
시간이 오래 소요됨
- text, avro, orc등 데이터 분리가 가능한 file를 사용
'NoSQL > Hadoop' 카테고리의 다른 글
hdfs file system optimization (0) | 2019.07.17 |
---|---|
map/reduce job runtion optimization (0) | 2019.07.17 |
hadoop os tunning (0) | 2019.07.16 |
hadoop map/reduce job 실행 (0) | 2019.07.11 |
yarn admin (0) | 2019.07.09 |