spark (pyspark) をCSVを取り込むだけに使う しかもwindows 10 で、(1) インストールまで


spark で、CSV を取り込むだけで結構苦労したという話です。

nysol と比べてベンチマークでどのくらい性能がでるのかをチェックするために、spark installしました。
local から、csv 読み込むだけで、しかも,windows 10 なので多くの人にとっては、あまり意味のない記述かなと思います。その点はご容赦ください。

2016/07/24 時点の情報です。かなりのスピードで変わるので、情報が正しくない可能性が、かなりあります。

今回は、インストールでエラーなしのところまでです。

ポイントは、

  • python は、anaconda python3をいれておきます。
  • どのバージョンをダウンロードするか? 2系で、prebuild がいいです。
  • 必要な環境設定 java は、
  • 環境変数 java_home,spark_home,hadoop_home などを設定
  • Hadoop 用のプログラムとか、ディレクトリとかつくる
  • conf 設定(log と、default に少し)

python anaconda3

  • python は何をいれてもよいと思いますが、anaconda が便利だと思ってつかっています。python3 です。

2系 prebuild

  • make しなくていいので prebuild がいいと思います。
  • prebuild には、Hadoop対応の機能がついています。CSV取り込みには不要です。。。
  • 2系なのは、csv 取り込み機能がデフォルトでついているためです。

java

  • 7,8 どちらでもいいみたい。
  • jre でもいいような気がします。(maven で build しないためかも)
  • JAVA_HOME を設定するのはお約束

環境変数

  • spark の名前でどこかにinstallしたことにします。
  • spark_home,hadoop_home をその spark のインストール先に設定します
  • hadoop は、うまくうごかないでしょうけど、今回は、local で、CSV読み込みなのでこのようにします。

hadoop対応

  • hadoop 用にいくつか設定しないとエラーになるので、適当に設定します。
  • bin 以下にいれるアプリがあります。winutils がいいようです。winutils、hadoopごとにありますので、注意が必要です。
  • /tmp/hive をつくり、winutils で、パーミッション設定 winutils chmod 777 /tmp/hive します。

conf 設定

  • conf 以下に少し設定(しなくてもいいのかも)
  • log4j.properties で、log4j.rootCategory=ERROR, console と設定して、余計なログ出力を抑制
  • spark-defaults.conf で、spark.master local と設定、local で、CSV読み込むだけの設定のはず。