본문 바로가기
Tool & Setting

[Spark] Docker로 jupyter에서 spark 환경 만들기

by 카프리썬 2021. 7. 26.
728x90

도커확인

docker --version

참고로, 윈도우에서 docker Desktop을 이용했습니다.

 

주피터 이미지 가져오기

주피터의 이미지는 라이브러리에 따라서 여러개 있다. >> 도커이미지 라인업 확인

나는 혹시 몰라서 all-spark-notebook 이미지를 사용하기로 했다 

docker run -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v [localpath]--restart always jupyter/all-spark-notebook

localpath는 내가 주피터의 루트가 될 폴더를 로컬에서 지정하는 것이다. 

나는 파이썬이 있는 경로에서 새로운 폴더를 하나 파서 그 경로를 지정했다.

그럼 이 폴더안에 파일을 넣으면 주피터안에서도 파일이 추가된다. 

 

그럼 이렇게 이미지를 가지고 오는걸 어느정도 기다린다.

 

주피터 접속

로컬에서 진행한 주피터와는 조금 다르게 localhost:8888/lab 으로 접속한다.

그럼 아래 화면처럼 토큰을 입력하라고 나오는데, 이건 도커를 실행할때 알려준 토큰을 입력하면된다. 

 

그럼 노트북으로 쓸 수 있는 옵션으로 python3, r, syplon-kernel이 있다.

 

주피터에서 스파크 사용

주피터에서 스파크를 사용하고 싶다면 syplon-kernel 을 선택한다.

스파크에서는 주피터에 대한 공식커널 스펙을 따로 제공하지 않아서, 스파크를 쓰려면 따로 개발한 커널을 사용한다. 

spylon-kernel은 스칼라 언어도 지원한다고 한다.

 

그래서 커널이 시작되면, 스파트세션이 이미 생성이 되어 있다. 

 

주피터에서 PySpark사용 

pyspark를 사용하고 싶다면 python을 선택한다.

파이썬 안에서 pyspark로 스파크를 사용할 수 있다.

 

출처 https://lamanus.kr/85

 

 

+ 추가. 위의 방식은 커널로 spark를 사용하는 것인데 

https://it-sunny-333.tistory.com/88 여기에선 아예 환경변수를 주피터로 세팅할수 있는 방법이다.

반응형

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });