hatunina’s blog

メモと日記です

jupyter notebookでpyspark

環境はMacOSです。
sparkは以下

>>> echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_122.jdk/Contents/Home

>>> pyspark --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.1
      /_/
                        
Using Scala version 2.11.8, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_122-ea


jupyter notebook起動時に$SPARK_HOME/python/pyspark/shell.pyを起動することでSparkContextを作成しnotebook上でpysparkを利用できるようになります。

brew install apache-sparkとかした場合はSPARK_HOMEが設定されていないのでテキトーに設定します。
バージョンは適宜変更してください。

echo export SPARK_HOME=/usr/local/Cellar/apache-spark/2.3.1/libexec >> ~/.bash_profile
source ~/.bash_profile


jupyter notebook起動時の設定ファイルを作成します。

mkdir -p ~/.ipython/profile_default/startup/
touch ~/.ipython/profile_default/startup/00-first.py


00-first.pyに以下を記載します。
すでに存在する場合は追記するか50-middle.pyとか作成するといいかもしれません。

# coding: UTF-8

import os
import sys

spark_home = os.environ.get('SPARK_HOME', None)
sys.path.insert(0, spark_home + "/python")
# py4j-0.10.7-src.zipのバージョンは適宜変更してください
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.10.7-src.zip"))

exec(open(os.path.join(spark_home, "python/pyspark/shell.py")).read())


最後にjupyter notebookを起動しscとするとSparkContextが作成されていることが確認できます。

f:id:hatunina:20180722004839p:plain
やったぜ!!!

参考は以下書籍のP203 ~ P204です。
www.shuwasystem.co.jp