在Win10系统下搭建Spark环境,有助于初学者学习开发及调试Spark应用。
软件包准备
不同版本Spark与PySpark存在不兼容的情况,以下版本经本人测试是可行的。
安装
- java及scala的安装就不用讲了,记得设置环境变量就行。另外建议到官网下载连接MySQL驱动,解压后将mysql-connector-java-5.1.47-bin.jar复制到\lib\ext目录下
- 解压spark、hadoop及winutils
- 将spark包下spark-2.3.3-bin-hadoop2.7\python复制到anaconda安装目录下Anaconda3\Lib\site-packages
- 用wintuitls包下hadoop-2.7.1\bin替换hadoop-2.7.7\bin
- 设置环境变量,示例如下:
JAVA_HOME=D:\JAVA
SCALA_HOME=D:\SCALA
SPARK_HOME=D:\ProgramData\spark-2.4.1-bin-hadoop2.7
HADOOP_HOME=D:\ProgramData\hadoop-2.7.7
CLASSPATH= %JAVA_HOME%\lib
PYTHONPATH=%SPARK_HOME%\python\lib\py4j;%SPARK_HOME%\python\lib\pyspark;D:\ProgramData\Anaconda3
在Path后添加:
%SPAKR_HOME%\bin
%HADOOP_HOME%\bin
%SPARK_HOME%\python\lib\py4j
%SPARK_HOME%\python\lib\pyspark
%JAVA_HOME%\bin
D:\ProgramData\Anaconda3
%SCALA_HOME%\bin
- 安装PySpark及Py4j:
pip install pyspark==2.4.1; py4j==0.10.7自动安装
(安装有时很慢,建议先下载pyspark文件包:pip install pyspark-2.4.1.tar.gz)
验证
调出终端输入:pyspark或spark-shell
pycharm下验证:
# import os
# import sys
# os.environ['SPARK_HOME'] = "D:\ProgramData\spark-2.4.1-bin-hadoop2.7"
# sys.path.append("D:\ProgramData\spark-2.4.1-bin-hadoop2.7\python")
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName('TEST').setMaster('local') # 创建配置
sc = SparkContext(conf=conf) # 创建Spark环境
data_rdd = sc.parallelize(['a', 'b', 'c', 'd']) # 根据list,array创建RDD
print(data_rdd.take(2))