データサイエンティスト(仮)

元素粒子論博士。今はデータサイエンティスト(仮)。

Ubuntu16.04LTSにSparkを入れる

そろそろSpark弱者を抜け出したい。

経緯

データ処理や分析の一つの手段として、Sparkをある程度できるようにしたい、と思ってはいるのですが、なんだかんだ腰を据えて…という感じになかなかならない日々が続いていました。おかげさまであんまり使いこなせてない状況なんですが、そろそろいい加減弱者でいるのもアレなので、自宅の環境でもラフに試せるような状況にしてしれっとできるようになってる状態を目指したいと思います。

Sparkのインストール

今回、私の環境とインストールするSparkのVersionは以下です。

  • Ubuntu 16.04 LTS
  • Spark 2.3.0

JDKのインストール

JDKは、Java Development Kitの頭文字を取ったもので、Javaによるプログラミングで必要なものが一式揃ったパッケージみたいなものです。

$ sudo apt-get install -y openjdk-8-jdk

mavenのインストール

これは、Apache Mavenというもので、Java用のプロジェクト管理ツールです。

$ sudo apt-get install -y maven

Sparkのインストール

Sparkのダウンロードサイトから、入れたいVersionを指定してインストールすればよいです。
Downloads | Apache Spark

私は2.3.0を入れました。直接サイトからダウンロードするでもよいですが、コマンドラインからだと以下のような手順で行います。wgetでダウンロードして、解凍して実行しているだけです。SparkのHomeは/usr/local/sparkに指定しておきます(ここはお好み)。

$ wget http://ftp.riken.jp/net/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz
$ tar zxvf spark-2.3.0-bin-hadoop2.7.tgz
$ sudo mv spark-2.3.0-bin-hadoop2.7 /usr/local/
$ sudo ln -s /usr/local/spark-2.3.0-bin-hadoop2.7 /usr/local/spark

次に、コマンドラインでSparkを簡単に実行するために、.bashrcに以下の文言を追記します。

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin

ターミナルを再起動すれば、準備OKです。

Spark-shellの起動

実行すると、以下のような感じになります。
f:id:tekenuko:20180628222002p:plain

JupytetでPysparkを動かす

環境にもよりますが、.bashrcに以下の文言を追加すると私は大丈夫でした。

export PYSPARK_PYTHON=$PYENV_ROOT/shims/python #環境に合わせてパスを合わせること
export PYSPARK_DRIVER_PYTHON=$PYENV_ROOT/shims/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

ターミナルを再起動して、pysparkとうったらjupyter notebookが開きます。

$ pyspark

ここから先はやっていきです。