본문 바로가기

Data/Data Analysis

[Pyspark] pyspark 로컬에 설치

반응형

1. 자바 설치

커맨드창에 다음과 같이 입력했을때 출력이 있어야함

> java -version

> java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) Client VM (build 25.144-b01, mixed mode, sharing)

 

위와 같이 나오지않는다면 다음링크에서 설치

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

Java SE Development Kit 8 - Downloads

Java SE Development Kit 8 Downloads Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications, applets, and components using the Java programming la

www.oracle.com

그리고 자바 환경변수 설정필요

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_201

JAVA_HOME변수를 설정해주고

C:\Program Files\Java\jdk1.8.0_201\bin 경로를 환경변수에 추가

 

2. Spark 설치

http://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. Note that, Spark is pre-built with Scala 2.11 except version 2.4.2, which is pre-built with Scala 2.12. Link with

spark.apache.org

이것도 자바와 같이 환경변수 설정필요

다음과같이 변수명을 선언해준다음

SPARK_HOME = C:\spark\spark-2.3.2-bin-hadoop2.7
HADOOP_HOME = C:\spark\spark-2.3.2-bin-hadoop2.7

환경변수 경로는 다음과 같이 선언

C:\spark\spark-2.3.2-bin-hadoop2.7\bin

 

3. winutils.exe 설치

https://github.com/steveloughran/winutils 

 

Build software better, together

GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

에서 자신의 hadoop 버전과 맞게 설치를 진행해준다.

다운받은 winutils.exe를 Spark를 설치해준 bin폴더에 저장

예로들어, 현재 나의 spark 경로는 C:\spark\spark-2.3.2-bin-hadoop2.7\bin

이후 다음과 같은 동작 진행

3.1 다음과같이 폴더를 생성 -> C:\tmp\hive

3.2 관리자 권한으로 cmd를 실행시키고 두개의 명령어 실행

> winutils.exe chmod -R 777 C:\tmp\hive

> winutils.exe ls -F C:\tmp\hive

이렇게 실행하면 다음과 유사하게 출력됨

> drwxrwxrwx|1|LAPTOP-.....

 

4. Pyspark 설치 확인

간단하다, cmd에 들어가서 "pyspark" 명령어를 치면됨

그럼 위와같은 그림으로 출력됨

추가 확인으로 pyspark 실행후 다음과 같은 명령어가 동작하는지 확인

cmd> pyspark
>>> nums = sc.parallelize([1,2,3,4])
>>> nums.map(lambda x: x*x).collect()

 

5. PySpark를 jupyter notebook에 연결

* 본 단계는 anaconda prompt 가 설치되어있어야함

 

다음과같은 명령어 실행

> conda install -c conda-forge findspark

이후 jupyter notebook을 실행시키고 다음과 같이 컴파일

import findspark
findspark.init()findspark.find()
import pyspark
findspark.find()

마지막 라인은 위에서 설정한 SPARK_HOME 변수가 출력될것이다

 

이제 spark 세션을 생성해주기위해서 다음과 같이 컴파일을 진행해준다

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession
conf = pyspark.SparkConf().setAppName('appName').setMaster('local')
sc = pyspark.SparkContext(conf=conf)
spark = SparkSession(sc)

만약 세션이 끝난다면 다음과같은 코드를 실행한다

sc.stop()
반응형