動機
Sparkの環境はAzureのHDinsightを使っていたが、お金がかかって仕方ないのでローカル環境に作ることにした。
↓の本の付録通りやっていけばできるのだが、いくつかハマったのでメモ。
https://www.oreilly.co.jp/books/9784873118185/
動作環境
- macOS High Sierra
- java version "1.8.0_171"
- java7とかだとエラーが出るので要注意だ!
- Python3.5
- Python3.6とかだとエラーが出るので要注意だ!
- Spark2.1.0
- sbt最新版
- 必須ではないがScalaで書きたくなったときに必要だ!
Java8のインストール
ここだ!
https://www.java.com/ja/download/
Python3.5のインストール
macユーザーだと最初から3.6がインストールされていると思うがこれだとnumpyがナンタラカンタラとエラーが出るぞ!
python3.5を準備しよう!作戦としてはanacondaでpython3.5の環境を作る。
##anacondaのインストール
こっからダウンロードだ!
https://www.anaconda.com/download/#macos
##python3.5の環境作成
このコマンドを打て!
conda create -n py35 python=3.5 anaconda
するとここにpython3.5の環境ができあがるぞ!
$HOME/anaconda3/envs/py35/bin/python
#sbtのインストール
参考:
https://www.scala-sbt.org/1.0/docs/ja/Installing-sbt-on-Mac.html
このコマンドを打て!
brew install sbt@1
brewは予めインストールしておけ!
sparkのインストール
ここでコンパイル済みのSpark2.1を選択してダウンロードして解凍だ!
https://spark.apache.org/downloads.html
ここでは$HOME/spark-2.1.0-bin-hadoop2.7
に解凍したとしよう!
#PATHを通せ!
vi ~/.bash_profile
に以下を書き込む
1行目はSparkを解凍した場所
2行目はPython3.5の環境のpythonコマンドの場所
3行目はjupyterノートのコマンドの場所
4行目はよくわからんがPYSPARK_DRIVER_PYTHON_OPTSは、Jupyterに対してnotebookパラメータをJupyterに渡し、それをpysparkの新しいインスタンスにリンクさせるためのものです。
入門PySaprk p.252 だそうです。
export PATH=$PATH:$HOME/spark-2.1.0-bin-hadoop2.7/bin
export PYSPARK_PYTHON=$HOME/anaconda3/envs/py35/bin/python
export PYSPARK_DRIVER_PYTHON=$HOME/anaconda3/envs/py35/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
これでpyspark
とコマンドを打つとjupyternotebookでSparkの作業ができるぞ!
#疲れた