본문 바로가기
빅데이터/hive

[hive] 하이브에서 MR 작업 결과를 merge 하는 방법

by hs_seo 2018. 3. 7.

하둡은 작은 크기의 파일이 많으면 성능에 안좋은 영향을 주게 된다.


파일이 많다. -> 네임노드가 관리해야할 파일이 많아진다. -> 성능이 느려진다. 

작은 사이즈의 파일이 많다. -> 네임노드가 관리해야 하는 블록의 개수가 많아진다. -> 성능이 느려진다. 


따라서 하이브 작업의 결과를 합쳐서 비슷한 크기로 만드는 것이 좋다. 

아래의 설정을 이용하여 결과를 합쳐준다. 


set hive.merge.mapfiles=true;

 - map only  잡의 결과 파일을 합친다.

set hive.merge.mapredfiles=true;

 - 맵리듀스 잡의 결과 파일을 합친다. 

set hive.merge.tezfiles=true;

 - tez 엔진 작업의 결과를 합친다. 

set hive.merge.smallfiles.avgsize=16000000;

 - 설정한 사이즈 이하의 파일을 합친다. 

set hive.merge.size.per.task =256000000;

 - 합치는 파일의 사이즈


즉, 위와 같이 설정하면 16mb 이하의 파일을 256mb 파일로 합쳐준다. 







반응형