赞
踩
本文所使用方式为在windows独立环境中进行pyspark的开发,如需链接hdfs还是要借助虚拟机的,主要包含以下几个步骤
这里建议大家选择版本较低的java版本,如果版本较高可能会出现不兼容问题,Java和hadoop的安装流程我之前的文章里面有,大家可以看一下,这里附上链接
hadoop安装
hadoop安装
链接同上
先下载scala的压缩包,依然是官网地址,建议2.11的版本,因为后续我们使用的spark版本为2.4.3
直接解压压缩包即可,
建议所有的解压文件都放在同一目录下,以方便后续查找
解压完毕后,配置环境变量,SCALA_HOME,以及path
和scala一样,直接本地解压,就不用管了,当然,如果你比较讨厌看到红色的很多很多的日志信息,
可以再spark的conf文件夹下,修改一下log4j这个文件,
把log4j.rootCategory这个参数改为ERROR
这样可以隐去大多数日志信息
解压完毕之后,也是配置环境变量就可以了
最后,检验是否安装成功
java -version
hadoop version
spark-shell
这样环境配置就搞定了
先第一步是安装pyspark,直接使用pip安装
*在使用之前要确保SPARK_HOME环境变量已经配置好*
pip3 install pyspark
接着启动pyspark有两种方法
首先启动spark,在命令行中输入以下命令,这样就能直接在jupyter中编辑环境变量了。
pyspark --master spark://127.0.0.1:7077 --num-executors 1 --total-executors-cores 1 --executor-memory 512m
PYSPARK_DRIVER_PYTHON=ipython
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
使用这种方法可以在命令行中编写,sc对象已经内置就不需要再import了
插入一句废话:要使用findspark记得先 pip install findspark。
那么在编写代码前首先写下以下两句
import findspark
findspark.init()
1、如果是在findspark.init()报错的话
那么一般是没有设置SPARK_HOME环境变量,记得正确配置。
2、Py4JError:org.apache.spark.api.python.PythonUtils.isEncryptionEnabled does not exist in the JVM
这个问题困扰了我很长时间,如果在jdk、spark、Hadoop都已正确配置的前提下(正确配置的前提是可以在命令行中启动spark-shell),那么问题就出在pyspark的版本问题上。我的解决方案是回退pyspark的版本到2.3.2
分别输入以下命令即可
pip uninstall pyspark
pip install pyspark==2.3.2
3、pyspark.sql.utils.IllegalArgumentException: 'Unsupported class file major version 56\57\60
JDK版本的原因
可以先看一下版本对应关系
解决方法:改变系统里的Java版本(尽量降版本),也记得要改变配置的环境变量。
就是用我们一开始说的1.8.013,没有问题,一定要看好环境变量是否更改,确认无误,重启pycharm再执行代码尝试
ok,可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。