정보기술 발전에 따라 다양한 유형의 데이터들이 기하급수적으로 생산, 수집 및 활용되고 있으며, 이로 인해 데이터 역할의 중요성과 활용 범위는 날로 커지고 있다. 현재의 빅데이터 환경에서는 데이터 개념이 정형 데이터뿐만 아니라 비정형 데이터를 포함하는 넓은 의미로 확장되었고, 데이터의 효율적인 관리 및 분석을 통한 미래 예측까지를 빅데이터 범주에 포함하고 있다.
가트너 그룹이 발표한 「2016년 기술 트렌드를 이끌 10대 전략 기술」중 하나인 '만물 정보'라는 주제는 수많은 정보들을 분석하는 산업이 발전할 것이라 예상하고 있으며, '진보된 머신 러닝'이라는 주제는 빅데이터 분석기술 중 하나인 기계 학습(Machine Learning)에 대한 발전을 예측하고 있다. 그리고 얼마 전 구글에서 개발한 알파고의 원리도 기계 학습을 이용한 데이터 분석임을 고려하였을 때, 데이터 분석 기술에 대한 관심이 증가하고 있음을 알 수 있다. 많은 기업과 단체들은 이러한 데이터 분석 기술을 위한 데이터 분석 도구를 개발하고 있고, 현존하는 데이터 분석 도구 중에서 통계기반으로 이루어진 오픈소스 기반의 데이터 분석 도구인 R이 널리 알려져 많은 분야에서 활용되고 있다.
전 세계적으로 오픈소스 소프트웨어에 대한 관심이 급증하면서 IT기업들이 자체 기술을 오픈소스로 발표하고 있으며, 대표적으로 아파치 소프트웨어 재단은 오픈소스 프로젝트들을 주관하여 누구나 기술들을 다양하게 이용할 수 있도록 하고 있다. 대표적인 빅데이터 기술이라 할 수 있는 하둡(Hadoop)과 맵리듀스(MapReduce), 아파치 스파크(Apache Spark) 등도 모두 아파치 소프트웨어 재단에서 관리하는 오픈소스 프로젝트들이다. 아파치 스파크는 데이터 처리 및 분석 성능을 높이기 위해 인-메모리(In-Memory) 방식을 사용하며, 다양한 데이터 분석 관련 라이브러리를 내장하고서 오픈소스로 출시되어 큰 관심을 받고 있다.
빅데이터 분석 분야에서 떠오르고 있는 데이터 분석 기법인 기계 학습 측면에서 아파치 스파크와 R을 고려하였을 때, 두 분석 도구 중에서 어떤 분석 도구가 더욱 효율적이라 판단하기는 어렵다. 왜냐하면 아파치 스파크가 인-메모리 기법으로 인해 보다 빠른 분석이 가능하고, R은 대량의 통계기반 데이터 분석 기능과 하둡의 분산처리 환경을 지원하는 라이브러리가 제공되기 때문이다. 즉, 기계 학습을 통한 데이터 분석에서 아파치 스파크의 스파크 MLlib라는 라이브러리를 이용한 분석과 R에서 지원하는 기계 학습 방법을 이용한 분석 중 어느 쪽이 뛰어난 성능을 나타내는지는 예측하기 힘든 실정이다.
따라서 본 논문에서는 기계 학습 분야에서의 아파치 스파크와 R의 데이터 분석 성능 비교를 위해, 기계 학습 앙상블 학습 방법인 랜덤 포레스트(Random Forest) 방법을 선정하여 활용한다. 그리고 아파치 스파크의 기능 중 하나인 스파크 MLlib와 R의 'randomForest' 패키지를 사용하여 실험을 진행하고 결과를 도출하고자 한다.