용량이 큰 텍스트 파일을 소팅하고 인덱스 없이 특정 키를 찾는 것을 해봤다. 결과는 꽤 괜찮아서 쓸만했다. 내가 해본 것은 수십기가 파일이었는데 그보다 더 큰 파일도 잘 될것 같다. 방법은 다음과 같다.
1. 하둡으로 큰 파일을 소팅한다.
2. sgrep으로 검색. binary search이므로 매우 빠르다.
소팅은 몇십, 몇백기가라도 하둡으로 하면 1분 정도 내에 할 수 있다. 싱글 머신에서 sort 명령으로 시도하면 훨씬 오래 걸린다. 메모리가 충분하지 못하면 디스크 스왑이 많아지므로 더 오래 걸린다. 하둡으로 소팅할 때 파티셔너를 직접 만들어줘야 한다. 키 값에 따라 리듀서가 구분되도록 하는 것이다.
sgrep은 매우 빨라서 수십기가 파일에서도 0.001초 내에 금방 검색 가능하다.
자세한 내용은 나중에 더 정리해봐야겠다.
댓글 테스트..
답글삭제