雑記帳

ソフトを中心に雑記を書いてる割とすぐ転職したい人。コメント貰えると私が喜びます。

IPython NotebookでApache-Sparkを動かす

背景

ビッグデータとかリアルタイム解析とかデータマイニングとか機械学習とか、皆が面白そうにブログ書いてたり話してたりしてるから興味あるんですよ。面白そうなんですよ。 で、個人的に興味があって調べていますというただそれだけです。 下手の横好き以下なので、何をいまさらレベルのことをやりながら楽しんでます。 ※ 前回の投稿と同じです

やること

IPython NotebookでApache-Sparkを動貸せるように設定するだけです。 ググれば色々出てくるけど自分の近くに置いておきたいのでメモ。 さっき知ったけど、sparkの1.2.0が出てたので既に微妙に古い。 けどどうせ同じで大丈夫と思ってる。

前提

  • PCローカルで動かすこと
  • IPython Notebookが起動出来ること

環境

手順

1. Sparkをダウンロードしてきてどっかにコピーする、もしくはインストールする

f:id:fkei:20141221000403p:plain

Homebrewでインストールすると/usr/local/Cellar/apache-spark/1.1.1に置かれるご様子。

2. 環境変数SPARK_HOMEを設定する
export SPARK_HOME="sparkを解凍したフォルダ"
3. IPythonのプロファイルを作る
$ ipython profile create pyspark
4. IPython環境のプロファイルのstartup/00-pyspark-setup.pyを編集する
#coding:utf-8
import os
import sys

os.environ['SPARK_HOME'] = '/usr/local/Cellar/apache-spark/1.1.1'
spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'libexec/python'))
sys.path.insert(0, os.path.join(spark_home, 'libexec/python/lib/py4j-0.8.2.1-src.zip'))
execfile(os.path.join(spark_home, 'libexec/python/pyspark/shell.py'))

私の環境では設定ファイルは~/.ipython/profile_pysparkにあります。
py4j-0.8.2.1-src.zipはバージョンによって違うから書き換えましょう。
Windowsではユーザフォルダあたりにあった気がします。

5. 起動してみる
$ ipython notebook --profile=pyspark
6. なんか動いてる感じです。いえ〜い!

f:id:fkei:20141221000530p:plain

参考

http://blog.cloudera.com/blog/2014/08/how-to-use-ipython-notebook-with-apache-spark/