Apache Spark 始めました

Apache Spark を触り始めてみました.

環境セットアップ

Spark のソースコードは GitHub 上にあるので, あらかじめ自分のアカウントに fork してから clone しています.

$ git clone git@github.com:cocoatomo/spark.git
$ cd spark

## ビルド
## https://spark.apache.org/docs/latest/building-with-maven.html
$ export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
$ mvn -Dhadoop.version=1.2.1 -DskipTests clean package

## 実行
## https://spark.apache.org/docs/latest/index.html
## PySpark REPL の起動
$ ./bin/pyspark --master local[2]
...
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 1.2.0-SNAPSHOT
      /_/

Using Python version 2.7.8 (default, Jul  2 2014 10:14:46)
SparkContext available as sc.
>>> exit()

## Python スクリプトを指定して実行
$ ./bin/spark-submit examples/src/main/python/pi.py 10
...
Pi is roughly 3.145916
...

ちゃんと動いていますね.

PySpark on IPython

pyspark ファイル (実体は bash スクリプト) に IPython を起動できそうな記述があるので, IPython で PySpark を起動してみました.

$ IPYTHON=1 ./bin/pyspark
Python 2.7.8 (default, Jul  2 2014, 10:14:46)
...

## なぜか python コマンドの方が実行される

$ IPYHTON=1 PYSPARK_PYTHON=ipython ./bin/pyspark
Python 2.7.8 (default, Jul  2 2014, 10:14:46)
Type "copyright", "credits" or "license" for more information.

IPython 2.2.0 -- An enhanced Interactive Python.
...

## こっちだと起動した

調べた結果, ./bin/pyspark に問題があったので issue と Pull Request 上げました.

コメントとかの反応待ちになりますが, pyspark スクリプトのテストとかどうするんでしょうね?