BigData/Hadoop
Hadoop 에서 작은 크기의 파일을 처리하는 방법
Tomining
2016. 2. 10. 22:07
Hadoop 은 기본적으로 Input 파일 갯수만큼 Map Task 가 생성된다. 만약 작은 파일이 엄청 많다면? Block Size 이하의 파일들이 많은 경우는?
block size(64MB) 보다 작은 파일이 여러 개 더라도 Map Task 는 파일 당 하나씩 생성된다.
그렇다면 어떻게 처리하는 것이 좋을까?
위 블로그에 잘 정리되어 있다.
결론만 정리해보면 아래와 같다.
- hdfs 에 저장할 때, 파일 내용을 append 하는 방법
- 작은 파일들을 하나로 합치는 작업을 주기적으로 실행하는 방법
- hadoop archive (har) 파일을 이용하는 방법
- 파일 이름과 파일 내용을 각각 키와 값으로 해서 sequence file 로 저장하는 방법
- CombineFileInputFormat 을 이용해서 맵 리듀스 작업을 수행하는 방법
- HBase 에 데이터를 저장하는 방법