2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Mac上でPySparkのテスト環境を整える

Last updated at Posted at 2018-05-06

動機

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の作業ができるぞ!

#疲れた

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?