一、搭建的环境
windows7
spark-2.4.3
python-3.6.5
Java8
二、安装部署
1、安装Java/Jdk下载jdk-8u152-windows-x64.exe,根据安装指南进行安装,配置环境变量JAVA_HOME,在Path中添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,在CLASSPATH中添加%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
配置完成后, 在CMD中运行java -version检查是否安装成功。
2、安装Spark
下载spark-2.4.3-bin-hadoop2.7,http://apache.communilink.net/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz。解压到指定路径,添加环境变量SPARK_HOME到该路径,并在Path中添加%SPARK_HOME%\bin和%SPARK_HOME%\sbin
3、安装Python
下载python-3.6.5-amd64.exe,https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe。根据安装指南进行安装。安装完成后,在CMD中运行python --version检查安装是否成功。
将spark\python\pyspark整个文件夹复制到Anaconda3\Lib\site-packages文件夹中。
另外,需要在python中安装py4j。
pip install py4j
4、安装Hadoop
根据下载的Spark版本,下载相应版本的hadoop2.7.7,http://mirror-hk.koddos.net/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz 。解压到指定路径,添加环境变量HADOOP_HOME为该路径,并在Path中添加%HADOOP_HOME%\bin。将hadoop.dll,winutils.exe拷贝到%HADOOP_HOME%\bin目录。
ps:可自行在windows7 中编译hadoop源码已得到相应的hadoop.dll,winutils.exe等,具体操作比步骤可参考https://blog.csdn.net/LiuQQu/article/details/83825304。
三、验证
from pyspark import SparkConf, SparkContext import glob import os import sys spark_home = r'D:\hadoop_spark\spark-2.4.3-bin-hadoop2.7\spark-2.4.3-bin-hadoop2.7' hadoop_home = r'D:\hadoop_spark\hadoop-2.6.0' # 这步是将pyspark 加到 PYTHONPATH. 我测试了直接Windows的PYTHONPATH加下面的路径, 并不管用 sys.path.insert(0, os.path.join(spark_home, 'python')) # add pyspark # 这步是设置了 SPARK_HOME 和 HADOOP_HOME # 我测试了即使是在Windows设置了环境变量, 也不管用 # 所以在程序中, 设置了 SPARK_HOME 和 HADOOP_HOME os.environ['SPARK_HOME'] = spark_home os.environ['HADOOP_HOME'] = hadoop_home if __name__ == '__main__': conf = SparkConf().setMaster("local[*]").setAppName("test") sc = SparkContext(conf=conf) data = sc.parallelize(range(10)) sum = data.reduce(lambda x, y: x + y) print(sum)
输出45。验证成功