夜行録 - 酔歩.net
日暮れて道遠し さらに夜道を行く もって夜行録と名付く
osx で spark を動かす
必要なもの
- jdk
- http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html から拾ってきてインストール(8u72 (1.8.0_72))
- spark
- http://spark.apache.org/downloads.html からダウンロードして、適当なところに展開(spark-1.6.0-bin-without-hadoop.tgz)。
- hadoop
- https://hadoop.apache.org/releases.html からダウンロードして、適当なところに展開(hadoop-2.7.1.tar.gz)。
環境変数
## Hadoop export PATH=$HOME/data/hadoop-2.7.1/bin:${PATH} export JAVA_HOME=`/usr/libexec/java_home` ## Spark export PATH=$HOME/data/spark-1.6.0-bin-without-hadoop/bin:${PATH} export SPARK_DIST_CLASSPATH=`hadoop classpath` export HADOOP_CONF_DIR=$HOME/data/hadoop-2.7.1/etc/hadoop
osxでJAVA_HOMEを適切に設定するには、/usr/libexec/java_homeを用いると簡便で良い。 うっとおしいので、spark-1.6.0-bin-without-hadoop/conf/log4j.propertiesを作成し、 log4j.rootCategory=WARN, consoleとしておく。
osxの場合、普通に実行すると snappy が云々という例外投げられて死ぬ。これは
- Sparkは通信の為にデータを圧縮する
- 幾つかのコーデックが使えるがデフォルトがsnappy
- osxのjava環境にはこれがない(pure javaではなくnative libraryが必要)
pyspark --driver-java-options -Dspark.io.compression.codec=lzfとするとエラーとならない
env PYSPARK_PYTHON=ipython-2.7 pyspark --driver-java-options -Dspark.io.compression.codec=lzf --master 'local[*]'として、iPython-2.7 をフロントエンドに、pythonから4並列でデータ処理ができた。
2016年01月31日 (Sun) - 22:57:27 - その他雑記 - 3209x - permalink
Karma points: 0. Do you like this article? [yes/no]
Karma points: 0. Do you like this article? [yes/no]
- Use this Trackback URL for ping (right mouse click and copy URL).
- You can [print] this article, DISALLOWED (MailToAFriend) it, or export a [PDF].