Machine Morning

機械学習やWebについて学んだことを記録しています。

Spark入門2

Sparkのインストール

SparkはJavaバーチャルマシン(JVM)上で動くので、JVMを入手する。JVMJava SE Development Kit(JDK)をインストールすることで手に入る。2018年8月21日現在ではバージョン10が最新だ。以下のリンクから自分のマシンに合ったものをインストールする。

Java SE Development Kit 10- - Downloads

ターミナルでjava -versionを実行し、インストールしたJavaバージョンが表示されればインストールが完了している。

次にSparkをインストールする。 とりあえずここでも最新のものを選んでおく。

Downloads | Apache Spark

.tgzのファイルをインストールしたら解凍してホームディレクトリに置く。

cd ~/spark-2.3.1-bin-hadoop2.7で移動する。実際に使用する際はデータがあるでイィレクトリに置いて良い。 Pysparkの実行可能なライブラリはbin/pysparkの中に、ある。 bin/pysparkでPySparkシェルを立ち上げることができる。

Jupyter notebookとの接続

環境変数を設定するために、export SPARK_HOME="/Users/gensasaki/spark-2.3.1-bin-hadoop2.7"を追加する。zshの場合は.zshrcに追加。そしたらsource ~/.zshrc

次にfindsparkをインストールする。 pip install findspark findsparkは先程設定した環境変数を利用して、PySparkの場所を調べる。

jupyter notebookでjupyterを立ち上げ、

import findspark
findspark.init()
findspark.find()

でsparkのインストール先が表示されればOK.

次にsparkでテストするデータをインストールする。ターミナルで

curl https://raw.githubusercontent.com/fivethirtyeight/data/master/college-majors/recent-grads.csv -o ~/recent-grads.csv

csvファイルとしてデータをインストールしたら、

import pyspark
sc = pyspark.SparkContext()
f = sc.textFile("~/recent-grads.csv") # データをRDDオブジェクトに格納する
data = f.map(lambda line: line.split("\n"))
data.take(5)

データを格納したRDDオブジェクトの先頭から5列が表示されればpysparkの利用が実現している。