서론.

안녕하세요, 저는 슬기로운 문화생활 SMS 데이터 엔지니어링 부서의 팀원 Yoda.jedi 입니다.

저희 팀은 이번 슬기로운 문화생활 서비스의 “전반적인 데이터 전처리 과정을 맡고 있는 Apache Spark 도입 환경 구축기” 라는 주제를 가지고 부서내에 있었던 다양한 경험들을 많은 분들과 나누고 싶어 이렇게 포스팅을 하게 되었습니다.


본론.

저희 슬기로운 문화생활에서 처리해야할 데이터 양의 증가, BI를 만들기 위한 다양한 Data Mart 생성요청 건으로 보다 복잡해진 Spark job 으로 인해 기존 Cloud 환경에서 구축되어있는 Apache Spark 머신을 비용 및 컴퓨터 리소스 문제로 OnPremise 환경으로 구축하기로 결정하였습니다.

기존의 Cloud 에 구축되어있는 Spark Cluster는 EC2 4대로 구성되어있었으며, 각 EC2 사양은 2Core 4GB ram 이였습니다.

서버 4대를 기반으로한 클러스터링으로 다음과 같은 구조로 기존의 데이터 전처리를 담당하고 있었습니다.

[Cloud 환경의 Apache Spark 구성도]