23
1
장
빅데이터 분석하기
재의 데이터를 보강할 수 있는 후보 데이터도 시험하게 된다. 한두 가지는 성공하기를 바라면
서 다양한 알고리즘을 시험하는 것이다. 반면 데이터 애플리케이션을 구축하는 현장에서는
운
영을 위한 분석
Operational
Analytics
을 수행한다. 분석 모델을 실제 의사 결정에 영향을 주는 서비스에
적용하며, 일정 기간 모델의 성과를 추적하고, 정확도를 조금이라도 올리기 위한 미세 조정 방
안을 궁리한다. 그리고 서비스 수준 협약서
Service
Level
Agreement
(
SLA
)와 가동시간
Uptime
도 고민하
게 된다. 현재의 사례를 보면,
R
과 같은 언어로 탐사 분석을 수행한 이후에, 양산 단계에서는
데이터 처리 과정을 자바나
C
++로 완전히 새롭게 구현하는 것이 일반적이다.
물론 처음에 만든 모델의 코드를 실무 애플리케이션에서도 사용할 수 있다면 좋겠지만,
R
과 같
은 언어는 성능도 좋지 않은 데다가 제품의 다른 구성요소들과 통합하기에는 적합하지 않다.
반대로 자바나
C
++ 쪽은 탐사 분석에 쓸만한 도구를 찾아보기 어렵다. 자바나
C
++에서는 데
이터와 상호작용할 수 있는
REPL
Read
-
Evaluate
-
Print
-
Loop
환경이 부족하며, 간단한 변환식을 구현
하는 데도 많은 양의 코드가 필요하다. 그리하여 모델링 과정에서도 쉽게 쓸 수 있고 제품에도
적용할 수 있는 프레임워크가 필요한 상황이 되었다.
1.2
아파치 스파크란
아파치 스파크로 들어가 보자. 스파크는 세련된 방법으로 클러스터의 여러 노드로 ...