Page 23 -
P. 23
1.2.4 스파크 MLlib 1
스파크 MLlib는 UC 버클리의 MLbase 프로젝트에서 개발한 머신 러닝 알고리즘 라이브러리다.
스파크 MLlib는 로지스틱 회귀(logistic regression), 나이브 베이즈 분류(naïve Bayes classification), 아파치 스파크 소개
서포트 벡터 머신(Support Vector Machine, SVM), 의사 결정 트리(decision tree), 랜덤 포레스트
(random forests), 선형 회귀(linear regression), k-평균 군집화(k-means clustering) 등 다양한 머신 러
닝 알고리즘을 지원한다.
스파크 MLlib 이전에도 하둡에서 분산 머신 러닝 알고리즘을 구현한 오픈소스 프로젝트로 아파
치 머하웃(Mahout)이 있었다. 아파치 머하웃이 더 오래되고 성숙했지만, 스파크 MLlib는 머하웃
이 지원하는 머신 러닝 알고리즘의 대부분을 구현했다. 그러나 머하웃도 기존 맵리듀스 처리 엔진
6
을 스파크로 전환하고 있으므로, 머지않아 스파크 MLlib와 머하웃이 통합되지 않을까 한다.
스파크 MLlib를 사용해 RDD 또는 DataFrame의 데이터셋을 변환하는 머신 러닝 모델을 구현할
수 있다.
1.2.5 스파크 GraphX
그래프(graph)는 정점과 두 정점을 잇는 간선으로 구성된 데이터 구조다. 스파크 GraphX는 그
래프 RDD(EdgeRDD 및 VertexRDD) 형태의 그래프 구조를 만들 수 있는 다양한 기능을 제공
한다. GraphX에는 페이지랭크(page rank), 연결요소(connected components), 최단 경로(shortest
path) 탐색, SVD++(Singular Value Decomposition++) 등 그래프 이론에서 가장 중요한 알고리즘이
구현되어 있다. 또 지라프(Giraph)(하둡에서 그래프 알고리즘을 실행할 수 있도록 지원하는 아파
치 프로젝트)에 구현된 대규모 그래프 처리 및 메시지 전달 API인 프리겔(Pregel)도 동일하게 제공
한다.
6 역주 2016년 3월에 릴리스된 머하웃 버전 0.11.2부터는 Samsara를 이용해 스파크, 플링크, H2O를 사용할 수 있다.
039
spark_08.indd 39 2018-05-08 오후 6:26:11