大数据-玩转数据-python开发spark(pycharm)环境搭建
说明:
需要在windows系统下开发spark程序,然后迁移程序到linux生产环境运行。
1.安装好JDK
下载并安装
jdk-17_windows-x64_bin.exe
配置环境变量:
JAVA_HOME,值为Java安装路径
C:\Program Files\Java\jdk-17.0.1;
系统变量CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意最前面的圆点)
系统变量PATH
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
检验成功:
在CMD中输入:java -version
2.安装Hadoop,并配置环境变量
下载hadoop
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
解压hadoop-2.7.7.tar.gz特定路径
D:\myprograme\hadoop
配置环境变量
添加系统变量HADOOP_HOME
D:\myprograme\hadoop
在系统变量PATH中添加
D:\myprograme\hadoop\bin
安装组件winutils
将winutils中对应的hadoop版本中的bin替换自己hadoop安装目录下的bin
下载winutils-master.zip
(直接解压好的Hadoop不支持Windows系统,我们需要修改一些配置方便在Windows上运行)
下载地址:https://pan.baidu.com/s/1SwIy_WORbRUlrosuNAVBqg 提取码:7hbj
解压 windows-master.zip
复制解压开的bin目录替换原有的hadoop下的bin目录
3.Spark环境变量配置
spark是基于hadoop之上的,运行过程中会调用相关hadoop库,如果没配置相关hadoop运行环境,会提示相关出错信息,虽然也不影响运行。
下载对应hadoop版本的spark
地址:http://spark.apache.org/downloads.html
解压文件到:
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2
添加PATH值
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2\bin;
新建系统变量SPARK_HOME
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2;
5.本地安装配置好 Python、pycharm
点击pycharm,点击File-Settings-project interpreter,配置python编辑器
6.在pycharm中配置spark
随便打开一个project,在windows-powershell的terminal 输入
pip install pyspark
有警告
在pycharm上的project interpreter上下载py4j,因pyspark依赖这个包。
在 File-Settings-project interpreter 搜索安装包py4j
7. 配置环境变量到pycharm
随便打开一个project
run -> edit configurition。设置Environment variables —点击“…”,出现框框,点击+
输入两个name:
一个是SPARK_HOME,
一个是PYTHONPATH,
设置对应values
SPARK_HOME的value:
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2
PYTHONPATH的value:
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2/python
设置好了保存。(注意不管是路径的哪里,都不能有空格!!尤其是结尾!)
6 关键的一步,
在File-Settings中的project structure中点击右边的“add content root”,添加py4j-some-version.zip和pyspark.zip的路径(这两个文件都在Spark中的python的lib文件夹下)
保存D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2\python\lib\py4j-0.10.9.2-src.zip
D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2\python\lib\pyspark.zip
7.测试是否配置成功
程序代码如下,创建一个python程序放进去就可以:
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME'] = "D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2"
# Append pyspark to Python Path
sys.path.append("D:\myprograme\hadoop\spark-3.2.0-bin-hadoop3.2\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)
程序正常输出说明环境已经可以正常执行
总结
部署相应包的时候注意版本,pycharm 具有自动检测相应版本功能,有些包根据pycharm提示在线部署比较省力。