스터디/Data Analytics

[Spark] 스파크 설치하고 csv 파일 불러오기

sollllllll 2022. 2. 15. 23:20

스파크는 데이터 과학에서 자주 볼 수 있는 반복 연산에 적합한 개념과 기능을 제공하는 인-메모리 데이터 처리 엔진으로 빠른 속도가 특징이다.

다양한 언어와 데이터 포맷을 지원하고 데이터 전처리를 효과적으로 수행할 수 있어서 빅데이터 파일 시스템으로 많이 쓰이는 하둡과 같이 쓰이기도 한다. 기본적인 분산 처리 기능 뿐 아니라 스파크 SQL, MLlib, 스트리밍 등 여러 구성 요소가 있다.

기본 데이터 구조로는 객체의 분산 시퀀스인 RDD(Resilient Distributed Dataset)를 사용하며 RDD는 다양한 관계 대수 연산자(SELECT, JOIN 등)와 스칼라, 파이썬 변환 로직의 피연산자로 적용될 수 있다. RDD는 또한 RAM에 저장되며 자동으로 결함을 극복하는 메커니즘을 지원한다. 만약 RDD의 데이터가 누락되면 데이터에 일부분에 대한 연산만 재실행해서 복원할 수 있고 SQL 실행 결과로 얻은 데이터를 별도의 디스크를 쓰지 않고 바로 가져올 수 있다.

 

 

이렇게 여러 장점을 가지고 있는 스파크를 사용해보기 위해 환경을 갖춰보았다.

 

 

(1) 자바, 파이썬 설치

자바와 파이썬은 이미 설치되어 있기 때문에 이 과정은 패스했다.

내 환경의 자바 버전은 13.0.2 이고, 파이썬 버전은 3.7.4 이다.

이 때 자바의 버전이 너무 높거나 파이썬의 버전이 3.0 보다 낮으면 제대로 작동하지 않으므로 이미 설치되어 있더라도 버전은 꼭 확인하는 것이 좋다. (자바 버전 8이나 11 권장)

 

 

 

(2) 스파크, winutils 설치

https://spark.apache.org/downloads.html

위 링크에서 하둡이 포함된 스파크를 다운받을 수 있다.

설치할 버전을 선택하고 세 번째에 연결된 링크를 클릭해 다운받는다.

나는 스파크 버전 3.0.3, 하둡 버전 3.2 으로 다운받았다.

스파크, 하둡

 

스파크를 먼저 다운받고나면 winutils.exe 를 다운받는다.

https://github.com/cdarlint/winutils

위 링크에서 다운받을 수 있고, 다운받은 하둡의 버전에 맞는 파일로 다운받으면 된다.

winutils.exe

 

 

 

(3) 파일 경로 설정 및 환경 변수 설정

다운받은 스파크 압축파일은 C:/Spark 위치에 옮겨서 압축을 해제해주었고,

winutils.exe 파일은 C:/Hadoop/bin 위치에 옮겨주었다.

Spark
winutils.exe

 

 

파일들을 옮겨주었다면 다음 단계로는 환경 변수를 설정해주면 된다.

윈도우10 기준으로 설정>시스템>정보>고급 시스템 설정 을 클릭해 나타난 창에서 고급>환경변수 를 클릭한다.

다음으로 사용자 변수와 시스템 변수 중에 시스템 변수에 SPARK_HOME 과 HADOOP_HOME 을 설정한다.

SPARK_HOME 은 C:/Spark/(압축 풀었던 폴더), HADOOP_HOME 은 C:/Hadoop 으로 설정한다.

이 때 JAVA_HOME 환경 변수가 설정되어 있지 않다면 이 변수도 추가한다.

변수 추가는 새로 만들기>변수명 설정, 경로 설정 으로 하면 된다.

환경변수 설정
새 변수 설정

 

마지막으로 시스템 변수의 Path 변수에 들어가서 (변수 선택한 후 편집 클릭)

%SPARK_HOME%\bin , %HADOOP_HOME%\bin 을 추가한다.

이 때도 마찬가지로 자바가 등록되어 있지 않다면 %JAVA_HOME%\bin 을 추가해준다.

Path 변수에 내용 추가

 

 

 

(4) 설치 확인

이제 설치는 모두 완료됐고 잘 설치되었는지 확인해보도록 하자!

나는 주로 pyspark 를 사용할 것이기 때문에 pyspark 를 실행해보았다.

처음 명령을 실행했을 때 'Python 지정된 경로를 찾을 수 없습니다.' 라는 오류가 떴는데 이는 설치 전에 미리 열어뒀던 cmd 창에 명령어를 입력해서 발생한 오류였다.

기존에 열어뒀던 cmd 창을 꼭! 닫고 다시 실행한 후 명령을 수행하도록 하자.

pyspark 실행

 

 

 

 

 

이렇게 스파크 환경 구축이 모두 끝났고, csv 파일도 한 번 불러와보도록 하겠다.

파이스파크 쉘에 다음 명령들을 차례로 입력한다.

>>> from pyspark.sql import HiveContext
>>> from pyspark.sql.types import *
>>> from pyspark.sql import Row
>>> csv_data = spark.read.csv("C:/movies.csv")

마지막으로 csv_data.show() 명령을 실행해 데이터를 확인해보았다.

 

 

 

설치가 잘 되었고 데이터도 잘 불러와지는 것을 확인했으니 다음엔 다양한 데이터로 이것저것 해 볼 생각이다!