Spark需要由JDK,Scala和Hadoop环境的支持,而PySpark则是利用Spark支持Python的特性而将其当作Python的一个包调用,利用PySpark中的Py4j库,我们可以通过Python语言操作RDDs。
在使用PySpark的时候,我们需要先完成以下组件的安装
- Python(推荐使用Anaconda+PyCharm)
- JDK(本文中使用JDK1.8)
- Scala(Scala-2.13.0-M1)
- Spark(Spark 3.0-preview for hadoop-2.7)
- Hadoop(Hadoop 2.7)
一、JDK(JavaTM Platform Standard Edition Development Kit)
从JDK下载获取所需版本的JDK,安装好之后配置环境变量。
【Path】中添加-安装目录/jdk版本号/bin
新建【JAVA_HOME】-安装目录/jdk版本号
二、Scala的安装
从下载地址获取对应Spark版本的Scala安装包,我选择了比较新的2.13.0版本,windows下直接下载.msi文件安装即可,会自动将环境变量配置好。
安装好后运行cmd命令提示符,输入Scala
后,如果能够正常进入到Scala的交互命令环境则表明安装成功。
三、Spark的安装
从下载地址选择对应Hadoop版本的Spark,下载对应的.tgz
文件(如果不需要自己编译的话,选择Pre-built的预编译版本)。将文件解压到对应的目录下并重新命名为Spark
最后将Spark添加到环境目录中
-
将
Spark
的安装目录添加到系统变量 SPARK_HOME 中
-
将
Spark
的python
目录和python\lib\py4j
文件目录添加到系统变量 PYTHONPATH 中
将
%SPARK_HOME%\bin
添加到系统变量 PATH中
设置完系统变量后,在任意目录下的cmd命令行中,直接执行spark-shell
命令,即可开启Spark的交互式命令行模式。
四、Hadoop的安装
从下载地址选择对应的Hadoop版本,不需要编译源码的直接下载.tar.gz
文件并解压到对应目录。
将解压目录添加到环境变量里的 HADOOP_HOME项,再将其目录下的bin目录添加到系统变量的 PATH下,设置好后即可再cmd中使用spark-shell
命令测试Spark是否正常运行。
如果出现异常可能是因为Hadoop的bin目录下没有winutils.exe文件的原因造成的。
从winutils下载中选择对应的Hadoop版本,在其bin目录下找到所需的winutils.exe
文件,下载后放到自己的hadoop/bin目录下即可。
在使用spark-shell
命令启动Spark后如果cmd中出现以下信息则表示启动成功
Spark context available as sc.
SQL context available as sqlContext.
之后只要在Python的IDE中(Pycharm或者Jupyter Notebook皆可)调用pyspark包不出错即可
from pyspark import SparkContext
sc = SparkContext("local", "First App")