[Spark] 스파크 Window 로컬 환경 설치하기
1. Spark 설치 전 참고사항
Spark학습을 목적으로 한다면 로컬환경으로 구성하는 것이 좋습니다. 이유는 다음과 같습니다.
- 로컬 설치 이유
- 비용 없음: 로컬 머신만 있으면 별도의 클라우드 비용 없이 실습 가능
- 구성 이해에 도움: Spark를 직접 설치하고 설정해보는 과정에서 아키텍처 이해에 큰 도움
- 간단한 테스트에 적합: 소규모 데이터(수MB~수백MB) 기준으로 대부분의 Spark API를 충분히 학습 가능
- 오프라인 환경에서도 실습 가능
- 구성 방법
- Spark Standalone 모드로 설치
- Jupyter + PySpark 조합으로 실습 환경 구성 가능
- 로컬 클러스터(Spark Local[n]) 방식으로 멀티스레드 테스트도 가능
- 다른 구성 방법 (참고)
- Docker 또는 로컬 클러스터 구성
- Spark Master + Worker 컨테이너 구성
- pseudo-distributed 환경에서 클러스터 개념 연습
- 클라우드 서비스 구성
- AWS EMR, GCP Dataproc등을 활용해 실제 클러스터 기반 Spark 작업 실행
- Docker 또는 로컬 클러스터 구성
2. 설치 환경 추천 버전
Spark실습을 위해 다음과 같은 버전을 추천드립니다.
구성 요소 | 추천 버전 | 비고 |
Apache Spark | 3.5.x | 최신 안정 버전, Scala 2.12 기반 |
Apache Hadoop | 3.3.6 | Spark 3.5.x와 호환성 우수 |
Java (OpenJDK) | 8 또는 11 | Spark와 Hadoop 모두 안정 지원 |
Python | 3.8 ~ 3.10 | PySpark 사용 시 권장 범위 |
3. 설치 하기 (Windows)
3.1 Python 설치
1. Anaconda Windows 버전 설치
https://www.anaconda.com/download/success
Download Now | Anaconda
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.
www.anaconda.com
2. Anaconda 설치 확인
Anaconda Prompt에서 Python 실행 및 위치 확인 (~/anaconda3/python.exe)
python
where python
3. Python(3.8~3.10) 가상 환경 설치 (저는 3.9 설치 했습니다.)
conda create -n <환경명> python=<버전(ex:3.8 ~ 3.10)>
conda create -n env_python3.9 python=3.9
4. 설치 된 후 생성된 가상 환경 확인 및 활성화
conda info --envs
conda activate env_python3.9
5. pyspark 설치 (*본인이 설치한 Spark version과 맞춰주기)
pyspark 최신 버전(ex pyspark==4.0.0) 설치 시 정상 동작 안될 수 있음
pip install pyspark==<설치된 Spark Version>
pip install pyspark==3.5.5
3.2 Java 설치
아래 블로그 참고해주세요.
https://syongsyong2.tistory.com/61
[JAVA] Windows Java SE 11 설치, 환경 변수 설정
기존에 JAVA 8 버전을 사용하다가, 호환성을 위해 JAVA 11 버전을 설치하기로 했다. 설치방법 https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive
syongsyong2.tistory.com
3.3 Spark 설치
- Spark 다운로드
아래 URL에서 Spark를 다운로드 해줍니다. (포스팅 기준 3.5.5 버전)
https://spark.apache.org/downloads.html
Downloads | Apache Spark
Download Apache Spark™ Choose a Spark release: Choose a package type: Download Spark: Verify this release using the and project release KEYS by following these procedures. Note that Spark 3 is pre-built with Scala 2.12 in general and Spark 3.2+ provides
spark.apache.org
- Spark 폴더 경로 변경
설치된 파일 압축 푼 후 원하는 경로에 폴더를 만들어줍니다.
저는 사용자 폴더 안에 폴더를 만들었습니다. C드라이브에 만들어줘도 상관 없습니다.
- 환경 변수 등록
- 시스템 환경 변수 편집 열기
- 환경 변수 클릭
- SPARK_HOME이란 변수 생성 변수 값은 본인 Spark 폴더 경로 등록
(Spark 폴더를 사용자 폴더에 넣었다면 해당 사용자 변수를 추가해주고 C드라이브에 넣었다면 시스템 변수를 추가해줍니다.)
- 정상적으로 등록됐는지 확인
ehco %SPARK_HOME%
3.4 Hadoop 설치
- winutils Hadoop 다운로드 (포스팅 기준 Hadoop = 3.3.6)
https://github.com/cdarlint/winutils
GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows
winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows - cdarlint/winutils
github.com
- 다운로드된 Hadoop 폴더를 원하는 경로로 이동
(저는 Spark와 마찬가지로 사용자 폴더 아래에 넣었습니다.)
- 환경 변수 등록
- 등록 확인
4. Spark 실행해보기
- python 접속
python
- SparkSession 생성
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.master("local[1]") \
.appName("SparkTest") \
.getOrCreate()
df = spark.createDataFrame([(1, "a"), (2, "b")], ["id", "value"])
df.show()
- Web UI 접속되는지 확인
localhost:4040으로 접속
Web UI까지 확인 되었으면 Spark 환경구성은 완료된겁니다!
다음 포스팅에서 본격적으로 Spark에 대해 배워보고 사용해봅시다.