본문 바로가기
Spark/시작하기

Spark 시작하기01

by java개발자 2016. 3. 26.

지난 1년간

기계학습, 집단지성 등을 혼자 공부하면서, 무언가 회의감이 들었다.

[머신러닝 인 액션], [집단지성 프로그래밍], [코딩 더 매트릭스] 책들이 파이썬으로 짜여있어서, 파이썬으로 로직(개념, 프로그래밍)을 분석해가며, 머신러닝 알고리즘을 이해해 가면서 공부를 했지만...

시간적으로 많은 시간이 들었고, 개념적으로 깊게 들어가기에 어려움이 많았다.


JAVA 웹개발자가... 그러한 과정으로 머신러닝을 공부하고, 활용할 수 있나 라는...의문이 들었다.

또한,,, 머신러닝 알고리즘이 기본적으로 싱글스레드로 작성되었기 때문에... 

실행을 하고, 결과를 내는 동안 시간이 오래 걸렸다. 30초 이상...

그래서 과연 현재 공부하는 이... 로직이... 실제... 사례에서 가능할까? 라는 질문도 하게되었다.


한동안... 파견나가 일하면서, 블로그나 스터디를 뜸하게 하게 되었고,

알파고의 힘으로 다시 정신차리고 공부해보고자 한다.


JAVA 웹개발자는 아키텍처에 대한 필요가 흔치 않다.

이미 한국에서 보편화된 Spring MVC 개념에 맞춰서,,, DB 쿼리정도만 정확히 만들고, 데이터의 무결성을 고려해서 로직에 모순이 없도록 만들어주면,,, 어느정도 중간은 간다고 생각한다.

그 이상은... 웹개발자가 할 기회도 없거니와 필요로 하지도 않는다.


그런데 데이터 분석,,, 빅데이터 개발은 완전히 다른 양상을 보인다.

기본원리 개념과, 시스템에 대한 이해와 프로그램 아키텍처에 대한 고려가 함께 들어간다.


처음에는...

데이터 분석 아키텍처에 필요한 것이

Scala의 Akka를 이용해서 동시성만 고려하면 된다고 생각했지만...

오히려 Scala를 공부하다보니... Spark 라는 괜찮은 도구를 발견하게 되었다.


중간에,,, 머하웃으로 추천시스템 소스를 들여다본적이 있는데... 머하웃은 하둡과 관계가 있다. 스파크의 MLlib가 마치 하둡과 머하웃의 관계와 약간 비슷한듯;;;


난, 하둡은 전혀 모른다.


최근에 Spark 관련 서적이 두권 출간되었다.

러닝 스파크 2015년10월

Spark와 머신 러닝 2015년 12월

Spark로 하는 고속 빅데이터 분석과 처리 2014년 12월


일단 위 2권의 책으로 실습을 해볼 생각이다.


또한, Spark가 파이썬,스칼라,자바로 코드를 만들 수 있는 API를 제공해주는데...

난 JAVA 웹개발자답게 JAVA 로 스터디해볼 생각이다.


특히...

람다를 적용해서 JAVA8을 적용할 것이다.


그런데.... 많이 헷갈린다.

JAVA8의 스트림관련 함수가...


Spark의 함수와 비슷하기 때문이다.

그리고 많이 다른 부분도 있다.


JAVA8에서는 스트림관련 sum 함수가 있지만,,

스파크의 JavaRDD 에는 sum 함수가 없다. -_-;;; 당연히 있을거라고 생각했지만 없다.ㅜㅜ;;

    > 나중에 안 사실 : JavaDoubleRDD에 sum 함수가 있었다...

    >>> 더 나중에 안 사실 : [러닝스파크] 책에서 미리... 경고하고 있었다..ㅜㅜ


구별을 확실히 하지 않으면,,, 나중에 많이 헷갈릴 것 같다.



일단, JAVA8의 람다, 스트림과 관련된 스터디를 하면서,,,

함수형 언어의 특징과 장점들을 익혀야 할 것 같다.


[자바8 인 액션]

[이것이 자바다]

책들이 괜찮다...

[Java의 정석] 신간도 읽어보진 않았지만,,, 당연히 좋지 않을까???;;;

















'Spark > 시작하기' 카테고리의 다른 글

Spark 시작하기02  (0) 2016.03.26