はじめに
PySparkの勉強始めよう!っておもったら結構めんどくさいですよね。
- 正しいJava Versionのインストール(Java8じゃないとだめとか)
- pythonの設定(Python3?2?3.5以上じゃないとだめ??)
- Jupyter notebookで快適に勉強したい
- 当然bigdataに挑戦したくなったらS3やAzureStorageでデータの読み書きしたい。
- ちゃんとした環境変数の設定。(JAVA_HOME? SPARK_HOME? なにそれ?)
全部、まるっとDokcerイメージにしました。
イメージの内容物
baseimage: phusion/baseimage:0.11 (ubuntu 18.04ベース)
openjdk-8-jre
hadoop 3.2.1
spark 2.4.5
Anaconda3-2019.10-Linux-x86_64(python3.7.4)
Jupyter notebook
pixiedust 1.1.18
実行方法
まずはローカルで作業用ディレクトリを作成
mkdir sparkstudy
cd sparkstudy
docker run -v `pwd`:/work -p8888:8888 -it --rm neppysan/pyspark
すると、以下の表示が出ます。最後の行のhttps://127.0.0.1...
をコピペしてブラウザに貼る。
To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-6-open.html
Or copy and paste one of these URLs:
http://2457d17b9863:8888/?token=7a466b3b8d558c34ea7b62ef3b6da95ed83a403d0a210847
or http://127.0.0.1:8888/?token=7a466b3b8d558c34ea7b62ef3b6da95ed83a403d0a210847
するとJupyter Notebook ができるので、work
をクリックすると、自分のディレクトリに移動できる。
イメージが5Gぐらいあるので、最初のダウンロードはすこし時間がかかる。
Jupyter Notebook
S3やAzureStorageの接続方法のサンプルを書いた。
sample.ipynbを同梱したからみてみて。
参考
git にいろいろ詳しく書いた。
https://github.com/ShumpeiWatanabe/pyspark/blob/master/Dockerfile