Chapter 2. Downloading and Getting Started
Spark를 다운로드하고 하나의 컴퓨터에서 single mode로 실행해보자. Data Scientist와 Engineer를 포함해 Spark를 새로 사용하는 사람이라면 누구나 알기 쉽게 썼다.
Spark는 Python, Java, Scala를 사용할 수 있다. 전문 프로그래머일 필요는 없지만, 최소한 한가지 언어의 기본 문법에 대해서 익숙한 사용자라는 것을 가정하고 설명할 것이다. 가능한 모든 언어로 만들어진 예제가 포함되어 있다.
Spark 자체는 Scala로 개발했고, JVM상에서 돌아간다. 랩탑이나 Cluster에서 Spark를 실행하기 위해서는 Java 6 이상이 설치되어 있어야 한다. Python API를 사용하고 싶다면, Python Interpretor 2.6 이상이 필요하다. 아직 Spark는 Python 3에서는 동작하지 않는다.
Downloading Spark
Spark를 사용하기 위한 첫번째 단계는 Spark를 다운로드 받고, 사용할 수 있는 형태로 압축을 푸는 것이다. 가장 최근에 Release한 precompile된 Spark를 다운로드하는 것부터 시작해 보자.
http://spark.apache.org/download.html 에서 Pre-Built Packages -> For Hadoop 1 (HDP1, CDH3) -> direct file download 를 클릭한다. Spark-1.0.0-bin-hadoop.tgz 파일을 다운로드 받을 수 있다.
다른 Hadoop version에서 Spark를 사용하고 싶다면 다운로드 페이지에서 다운 받을 수 있지만, 파일 이름이 약간 다르다. Source로부터 직접 Build하여 사용할 수도 있는데, 최종 소스 코드는 다음 URL에서 다운로드 받을 수 있다. http://github.com/apache/spark.
(Mac OS X을 포함하여 대부분의 Unix, Linux 계열에서는 command-line에서 tar 파일 압축 해제 명령어로 압축을 풀 수 있다. 하지만, tar command가 설치되어 있지 않은 Windows와 같은 시스템에서는 tar 압축을 해제할 수 있는 무료 툴(7-Zip)을 다운로드 받아서 사용할 수 있다.)
자, 이제 Spark를 다운로드 받았으니 압축을 해제하고 Spark Default 버전이 어떻게 생겼는지 알아보자. 가장 먼저 Spark를 다운로드 받은 폴더로 이동하고, 다운로드 받은 파일 압축을 풀어보자.
cd ~
tar -xf spark-1.0.0-bin-hadoop1.tgz
cd spark-1.0.0-bin-hadoop1
ls
위의 tar command-line에서 x flag는 압축 해제를 의미하고, f는 압축 해제할 파일명을 의미한다. ls command는 압축이 풀린 Spark 폴더의 내용을 보여준다. 압축이 풀린 폴더에 있는 주요 파일들은 다음과 같다.
README.md - Getting Started with Spark에 대한 간단한 내용이 담겨져 있다.
bin - 실행 파일들이 담겨져 있는 폴더이다. Spark와 상호동작할 수 있는 spark-shell도 이 폴더에 위치한다.
core, streaming, python - Spark 프로젝트의 주요 컴포넌트에 대한 소스코드들이 있는 곳이다.
examples - Spark API에 대해 사용법과 작동하는 원리를 배울 수 있는 Spark standalone job에 대한 예제 코드들이 있다.
Spark 프로젝트에 있는 수많은 폴더와 파일들 때문에 걱정할 필요는 없다. 이후에 대부분의 내용을 다룰 것이다. 지금은 Spark Python Shell, Scala Shell에 대해서 좀 더 깊이 들여다 보자. Spark로 간단한 example을 돌려볼 것이다. 그리고, 직접 작성한 코드를 컴파일하고 간단한 Spark Job을 구동시켜 볼 것이다.
이 챕터에서는 Spark를 분산 모드가 아닌, 하나의 machine에서 하나의 Spark가 구동되는 "Local Mode"로 돌려볼 것이다. Spark는 다양한 mode와 환경에서 실행될 수 있다. Local Mode 뿐만 아니라 Mesos, YARN, Spark 배포판에 포함되어 있는 Standalone Scheduler상에서 구동할 수 있다. 앞으로 다양한 환경에서 Spark를 Deploy하는 부분에 대해서 상세히 다룰 것이다.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/656