안녕하세요! 저는 슬기로운 문화생활 SMS 데이터 처리부서 팀원 Yoda.jedi 입니다.
해당 포스팅은 저희 슬문생 서비스에 사용되는 다양한 지표 데이터를 처리함에 있어, 보다 빠르게 Raw Data를 처리하기 위한 방법을 모색 하던 중 “Spark 성능 향상을 위한 RDDs 코드 개선 및 파티셔닝 및 스레드” 라는 주제로 글을 작성하게되었습니다. 저희와 비슷한 고민을 하는 모든 분들에게 슬.문.생 은 어떻게 해결하였는지에 대해 많은 분들과 공유 드리고자합니다.
저희 슬기로운 문화생활 서비스에 활용되는 많은 데이터들이 있습니다. 제한된 Spark Server 컴퓨팅 파워, 프로젝트 마감기한의 압박 등 많은 부분들이 도전과제였습니다. 기존에 작성하였던 Spark Job으로 아래와 같은 요구사항을 충족 할 수 없었습니다.
기존의 Spark job은 일주일치 신규 데이터 처리를 위해 소모되는 시간은 약 6시간으로 신규 원시 데이터가 적재 됨과 동시에 해당일 기준 새벽에 전처리과정을 거치게 되면 큰 문제가 되지 않았습니다. 하지만, 과거 원시 데이터의 양이 많다는 점과, 프로젝트 전처리 기한인 10일 내외로 데이터 전처리를 마무리 해야한다는 점이 도전과제로 떠오르게 되었습니다.