Apache Spark w/ jupyter 설정 & 설치

in #apache-spark7 years ago (edited)

환경

  • python 을 사용해서 spark를 활용하기 위해 사전 준비 작업을 포스팅합니다.
    여러 블로그에서 spark 자체의 jupyter-notebook기능을 활용해서 하는 것들을 보여줬었습니다.
    저는 spark를 활용할 수 있는 가상환경을 만들고 이를 jupyter-notebook kernel 로 올려서 사용할 생각입니다.
  • 이전과 마찬가지로 AWS, ubuntu 14.04 에서 진행합니다.

Java, Scala, Sparks 설치


  • scala, java 설치 & 버전 확인합니다. sparkscala 기반의 언어로 돌아가기 때문에 먼저 설치해주어야 합니다.

$ sudo apt-get install default-jre scala

$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

$ scala -version
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL
  • Apache Spark 설치
    image.png
    tar 파일을 다운받아 ~/download에 압축을 해제합니다.

가상환경 설정


  • spark라는 이름으로 가상환경을 만들고 적용합니다.

$ pyenv virtualenv 3.6.4 sparks
$ pyenv virtualenv sparks
  • pysparkfindspark 를 설치합니다. pysparkspark의 python API 라고 볼 수 있습니다.
    커널 설정을 위한 ipykernel 도 함께 설치해줍니다.

(sparks)$ pip install pyspark
(sparks)$ pip install findspark
(sparks)$ pip install ipykernel
(sparks)$ source deactivate 
  • 위 라이브러리를 설치후에 spark 환경변수를 .bashrc에 작성합니다.

export PYENV_ROOT="$HOME/.pyenv"
export SPARK_HOME="/home/ubuntu/download/spark-2.2.1-bin-hadoop2.7"
export PYTHONPATH="$SPARK_HOME/python:$PYTHONPATH"
export PATH="$SPARK_HOME/bin:$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • 마지막으로, sparks 커널을 생성하여 jupyter-notebook에 적용시킵니다.

(sparks)$ python -m ipkernel installl --user --name=sparks

결과


  • 제대로 적용 되었다면 jupyter-notebook 에 kernel이 표시됩니다.
    image.png

Reference


http://jmedium.com/pyspark-in-python/
https://blog.sicara.com/get-started-pyspark-jupyter-guide-tutorial-ae2fe84f594f
https://www.dezyre.com/apache-spark-tutorial/pyspark-tutorial

Sort:  

접속할때마다 .bash_rc 가 적용이 안되서 가상환경 내에서 python, pip 가 가상환경으로 실행 되지 않는 경우가 있음.
ubuntu설정에서 .bash_profile 또는 .bash_rc 가 항상 적용 되도록 설정해야 한다.

Congratulations @rawoon89! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @rawoon89! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 58116.56
ETH 2361.49
USDT 1.00
SBD 2.42