Spark/Scala를 Jupyter Notebook에서 실행
Jupyter 노트북으로 코드를 공유하는 것이 더 좋을까,
코라라의 일련의 순서에 대해 정리해 보았습니다.
흔한 Apache Toree를 사용한 절차입니다.
Python (Anaconda) 설치
pyenv 설치
$ brew update
$ brew install pyenv
환경 변수 설정
$ echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ exec $SHELL -l
Anaconda 설치
설치 가능한 anaconda 버전 목록을 가져옵니다.
$ pyenv install -l | grep anaconda
anaconda-1.4.0
anaconda-1.5.0
...
anaconda3-5.3.1
anaconda3-2018.12
현재 최신 버전을 설치합니다.
$ pyenv install anaconda3-5.3.1
버전을 최신 버전으로 전환합니다.
# バージョンの設定
$ pyenv global anaconda3-5.3.1
# 切り替わったことの確認
$ pyenv versions
system
* anaconda3-5.3.1 (set by /Users/yuichi.nagakura/.pyenv/version)
한 번 로그아웃한 다음 Python 버전을 확인합니다.
$ python -V
Python 3.7.0
Jupyter도 설치되어 있는지 확인합니다.
$ jupyter --version
4.4.0
Apache Spark 설치
Apache Toree를 사용하려면 Spark가 필요합니다.
Spark를 설치합니다.
# ダウンロード
$ curl -O http://ftp.kddilabs.jp/infosystems/apache/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz
# 解凍
$ tar xvfz spark-2.4.0-bin-hadoop2.7.tgz
# シンボリックリンクの作成
$ ln -s $HOME/spark-2.4.0-bin-hadoop2.7 $HOME/spark
환경 변수를 설정합니다.
$ echo 'export SPARK_HOME=$HOME/spark' >> ~/.bash_profile
$ echo 'export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin' >> ~/.bash_profile
$ source ~/.bash_profile
Apache Toree 설치
참고) Apache Toree Quickstart
h tps : // 취해. 아파치. 오 rg / 두 cs / 쿠렌 t / 우세 r / 쿠이 ck s rt /
$ pip install --upgrade toree
$ jupyter toree install --spark_home=$SPARK_HOME --interpreters=Scala
이것으로 준비 완료입니다.
Jupyter Notebook 시작
노트북을 시작합니다.
나는
SparkContext
가 필요하지 않았고 로컬 모드에서 Spark를 사용하고 싶었기 때문에 다음과 같이 옵션을 지정하여 시작했습니다.$ TOREE_OPTS='--nosparkcontext' SPARK_OPTS='--master=local[2]' jupyter notebook
Scala 코드를 JupyterNotebook에 작성
New
→ Apache Toree Scala
를 선택하여 노트북을 만듭니다.코드는 다음과 같은 느낌으로 써 보았습니다.
코드와 실행 결과를 기록으로 남길 수 있기 때문에 좋은 느낌입니다.
헛된 포인트로서 노트북에서 실행하는 경우에는, spark 세션 생성시에
enableHiveSupport
를 붙이지 않으면 MetaStore가 유효하게 되지 않았던 것일까요? MetaStore의 데이터베이스를 MySQL이나 PostgreSQL등의 DB를 사용하고 있지 않는 경우는 불필요한 것 같습니다.val spark = SparkSession.builder()
.enableHiveSupport
.master("local")
.getOrCreate()
Reference
이 문제에 관하여(Spark/Scala를 Jupyter Notebook에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chocomintkusoyaro/items/c945a01e43cdfc82e98b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)