spark的依赖环境比较多,需要Java JDK、hadoop的支持。 由于spark本身是用scala实现的,所以建议使用scala。如果是使用scala语言,需要 Scala2.11.x版本,hadoop最好安装2.6以上版本。
Scala2.11.x安装
官网网址:https://www.scala-lang.org/download/
下载得到Scala的msi文件后,可以双击执行安装。安装成功后,默认会将Scala的bin目录添加到PATH系统变量中去。
Spark的安装
官网网址:http://spark.apache.org/downloads.html
使用的是Pre-built的版本,意思就是已经编译了好了,下载来直接用就好,Spark也有源码可以下载,但是得自己去手动编译之后才能使用,并将将Spark的bin目录添加到系统变量PATH中。
HADOOP安装
官网:https://archive.apache.org/dist/hadoop/common/
添加了HADOOP_HOME系统变量,也可以用%HADOOP_HOME%\bin
来指定bin文件夹路径名。这两个系统变量设置好后,开启一个新的cmd,然后直接输入spark-shell
命令。
pycharm配置
1、打开pycharm,创建一个progect,设置run configuration,在环境变量中添加HADOOP_HOME,SPARK_HOME和PYTHONPATH
2、安装pyspark 和py4j
Py4j可以使运行于python解释器的python程序动态的访问java虚拟机中的java对象。Py4j也可以使java程序回调python对象。
测试程序:
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME']="E:\spark-2.3.2-bin-hadoop2.7"
# Append pyspark to Python Path
sys.path.append("E:\spark-2.3.2-bin-hadoop2.7\python")
try:
from pyspark import SparkContext
from pyspark import SparkConf
print ("Successfully imported Spark Modules")
except ImportError as e:
print ("Can not import Spark Modules", e)
sys.exit(1)
安装过程中遇到的问题:
1、安装Hadoop过程中缺少winutils.exe的问题
根据自身的下载的Hadoop版本对应去下载相关联的winutils.exe和.dll文件
2、安装pyspark库后依旧出现找不到pyspark库的问题
在perferences中的project structure中点击右边的“add content root”,添加py4j-some-version.zip和pyspark.zip的路径(这两个文件都在Spark中的python文件夹下)