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_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
이것도 자바와 같이 환경변수 설정필요
다음과같이 변수명을 선언해준다음
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
에서 자신의 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()
'Data > Data Analysis' 카테고리의 다른 글
[Pyspark] UDF함수에서 return 을 list형식으로 하고싶을 때 (0) | 2019.11.15 |
---|---|
[Pyspark] sorted와 sort 의 차이 (2) | 2019.11.14 |
[Pyspark] dataframe join 문 (0) | 2019.09.16 |
[Pyspark] pyspark 함수 정리(3) (0) | 2019.01.15 |
[Pyspark] pyspark 함수 정리(2) (0) | 2019.01.11 |