본문 바로가기
Data/Study

[Spark] Apache Spark 실행하기 | Local에서 Spark설치

by 카프리썬 2021. 4. 22.
728x90

와 이제 본격적으로 spark를 설치해서 해볼 준비가 되었다.

오늘의 목표는 Spark설치하기..그냥 무작정해보기..

 

* pyspark와 spark차이점은?

* pyspark를 쓰려면 그냥 spark는 다운받지 않아도 되는건가?

* 왜 하둡을 받아야하는거지?

* spark를 시작하려면 코드를 처음에 어떻게 써야하지?

 

근데 아직 감을 잡지 못했다. 아직 잘 와닿지 않는다. 

Spark 설치하기

나는 python으로 spark를 사용할 것이다. 즉, pyspark를 사용할꺼다. 

간단하게 python에서 pip으로 설치하면 바로 spark를 쓸 수 있다고 생각했다.

(현재 로컬환경은 python,java이미 설치된 상태)

물론 되긴 되지만, winutils도 없고, 하둡 디렉토리를 가져올수 없다며 하둡환경이 아니라고 경고메세지를 준다

 

그래서 아래의 내용을 추가로 진행해야한다.

 


Spark 다운로드

그래서 추가로 하둡을 다운로드 받는다. >> 여기에서 spark.apache.org/downloads.html

스파크 설치시 하둡은 2.7버전이다

이렇게 아래의 경로에 압축을 풀었다.

그리고 winutils.exe 파일을 다운로드 받아서 bin경로 안에 넣는다.

나는 spark설치시 하둡2.7이기에 hadoop-2.7.3에서 winutils.exe를 다운받는다

다운로드 받은 winutils.exe파일을 내 로컬에 저장한다

 

환경변수 설정

SPARK_HOME 시스템변수 생성

새 시스템변수 생성 : 아까 spark다운로드 받아서 넣어둔 경로추가 

HADOOP_HOME 시스템변수 생성

새 시트템변수 생성 : hadoop의 /bin/winutils.exe 이 있는 경로

Path 사용자변수에 추가

%SPARK_HOME%\bin, %HADOOP_HOME

 


이제 다시 처음으로 돌아와서 pyspark를 import한 파이썬코드를 실행시켜본다.

띠용가리.. 오히려 잘 되지 않았따..

org.apache.spark.api.python.PythonUtils.getPythonAuthSocketTimeout

 

 

아래의 내용을 참고해서 findspark로 해결했다 

stackoverflow.com/questions/53217767/py4j-protocol-py4jerror-org-apache-spark-api-python-pythonutils-getencryptionen

 

py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.getEncryptionEnabled does not exist in the JVM

I am currently on JRE: 1.8.0_181, Python: 3.6.4, spark: 2.3.2 I am trying to execute following code in Python: from pyspark.sql import SparkSession spark = SparkSession.builder.appName('Basics').

stackoverflow.com

최종적으로 spark세션이 연결되었다. 

 

 

 

 

출처 

spark설치하기 ahnty0122.tistory.com/22

docker로 설치하기 lamanus.kr/85

반응형