Tech/Spark
WindowsでApache Sparkの環境構築
Enrai
2017. 3. 27. 21:08
1.Java設置
2.Python設置
3.HADOOP設置
4.Spark設置
5.システム環境変数にPATH追加
1 2 3 4 | JAVA_HOME=設置フォルダ SPARK_HOME=設置フォルダ PYTHONPATH=$SPARK_HOME/python/lib/pyspark.zip:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip HADOOP_HOME=設置フォルダ | cs |
6.システム環境変数のpathにSpark設置フォルダ\bin追加
1 | C:\spark-2.1.0-bin-hadoop2.7\bin | cs |
7.Windowsの場合
HADOOP_HOMEを設定しないとエラー & Hiveを設定しないとエラー
1 | %HADOOP_HOME%/bin/winutils.exe chmod 777 C:\tmp\hive | cs |
8.CONF設定
$SPARK_HOME$/conf/log4j.properties.templateをコピーし、log4j.propertiesを作成
1 | cp $SPARK_HOME$/conf/log4j.properties.template log4j.properties | cs |
log4j.propertiesを編集
1 | log4j.rootCategory=WARN, console # INFO->WARN | cs |
9.テスト(cmdで実行)
適当なフォルダにテストしたいファイルを置いて、cmd上でpysparkを実行
1 | C:\spark>pyspark | cs |
>>>がでたら
1 2 3 4 5 6 | >>> textFile = sc.textFile("README.md") >>> textFile.count() 104 >>> textFile.first() u'# Apache Spark' | cs |
10.ファイルを使ってテスト
simple.py
1 2 3 4 5 6 7 8 9 10 11 12 | from pyspark import SparkContext logFile = "./README.md" # Should be some file on your system sc = SparkContext("local", "Simple App") logData = sc.textFile(logFile).cache() numAs = logData.filter(lambda s: 'a' in s).count() numBs = logData.filter(lambda s: 'b' in s).count() print("Lines with a: %i, lines with b: %i" % (numAs, numBs)) sc.stop() | cs |
1 2 3 4 | PS C:\spark> spark-submit --master local[4] simple.py 17/03/28 12:07:08 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable s where applicable Lines with a: 62, lines with b: 30 | cs |
参考