독서/서평

전체적인 스파크를 사용해 볼 수 있는 맛보기 좋은 책

Dibrary 2022. 9. 20. 09:50
반응형

교육기관에서 받았지만, 정작 Hadoop 설치 까지만 나가고 이 책은 1쪽도 펴보지 못한 책... 하지만 이미 받았고, 나는 빅데이터 기술에 관심이 많기 때문에 혼자서 독파해보기로 결정했었다.

쉬웠냐면 전혀 그렇지 않았다... 처음부터 Vagrant를 써서 학습용 가상환경을 설치해야 한다. 이제 막 코딩을 시작한 사람에게 가상환경은 녹록치 않다. 그럼에도 Vagrant에 대해 공부하고 꾸역꾸역 설치에만 약 3일을 썼다.

설치 하고 나서는 일사천리인 듯 싶지만, 또 그것도 아니었다. 리눅스를 잘 다루지 못했으니까... 리눅스도 공부를 할 겸 검색해보니 마침 윈도우에서 단독클러스터 버전으로 돌릴수가 있는게 아닌가? 덕분에 이 책의 진도는 확확 나갔다.

 


서론이 길었는데, 이 책은 Spark를 사용해서 데이터를 분석해보고 싶은 사람에게 알맞은 '기본서'다. 왜 기본서라고 했냐면, 더 자세한 혹은 잘 되지 않는 부분은 직접 찾아가면서 보완해야 하기 때문이다.

우선 처음에 기본적인 파일 읽어들여서 갯수 세기, 필터링 해보기, RDD 만들어보기 등등 간단한 명령어를 따라 하면서 익힐 수 있다. 

참고로 언어는 Scala로 되어 있고, 이참에 Scala언어도 공부를 좀 했다. 그리고, 주력 언어는 Python이므로 PySpark로도 해당 코드와 실행결과가 같게 나오는지 확인을 같이 해 나갔다.

앞 부분에서 기본적인 연산들 소개가 끝나고 나면 파티셔닝 개념을 고려해야 하는 연산들을 소개한다. 스파크를 연습하는 환경은 단독클러스터였지만, 실제로 분산 클러스터에서 실행할 것이고, 더 빠른 결과를 위해 사용하는게 Spark다.

그렇기 때문에 셔플링이 자주 안생기도록 코드를 작성하는 것이 좋다고 한다. 물론, 셔플링이 생기는 연산과 셔플링이 생기지 않는 연산도 배울 수 있다.


기본적인 스파크 명령어 다음에는 스파크SQL을 소개한다. 사실 스파크SQL부분은 이 책의 내용만 가지고는 깊이가 얕기 때문에 기본적인 개괄만 잡고 더 찾아서 정리해 나가야 할듯 싶다.

그 다음에는 스파크 스트리밍을 소개하고, 각종 머신러닝 등의 기법 라이브러리 사용도 진행한다. 

 

결국, 이 책은 스파크의 전체 큰 틀인 스트리밍, 머신러닝, GraphX, RDD연산, DataFrame연산 등을 배울 수 있는 셈이다. 물론, 애초에 스파크는 엄청 거대한 프레임워크급이므로 한 권가지고는 빈약하지만 앞으로 더 파고들어 나갈 '키워드'를 익힐 수 있다는 점에서 굉장히 만족한 책이다.

사실 이 책으로 익힌 기본적인 Spark 연산만 가지고도 일반 코드에 적용해볼 수도 있는 정도기 때문에 Spark를 처음 접한다 싶으면 볼만한 책이다.

728x90
반응형