- python 报错 [WinError 2] 系统找不到指定的文件。
File "I:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\subprocess.py", 根据提示找到lib中的subprocess.py文件,CTRL+f查找class Popen模块,再将这个模块中的 init函数中的shell = False 改成shell = True
2.Python worker failed to connect back
spark版本过高,建议降低spark版本
3.pyspark 运行报错 TypeError: an integer is required (got type bytes) 的原因及解决方法
打印如上错误异常是因为 spark 2.4.x 还不支持 python 3.8 版本,需要将执行代码的 python 环境降级到 3.7 版本或以下即可解决。
4.py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils... does not exist in the JVM
下载findspark (findspark很小,可以直接用pip指令下载)
在代码中添加
import findspark
findspark.init()
重新运行代码,如果成功,则不用看后面的内容了,不成功则继续往下看
在使用pip freeze 指令查看pyspark指令,
pyspark 版本要和spark版本对应,才能成功运行
5.ImportError: cannot import name 'Bar'
用的是最新的版本,而作者团队决定不再维护之前的版本,新版本中的导入方式有些许变化
from pyecharts.charts import Bar
6.pyecharts里面导入Bar以及出现'str' object has no attribute 'get'
我的是0.1.9.5版本,1.0之后的版本好像是重构的。之后就没这问题了
7.spark2.x读取csv文件乱码问题,如果源数据带有GBK或GB2312的编码,就会出现Spark读取文本的中文乱码。
由于spark读取csv时,默认编码格式是utf-8,如果csv文件的格式是其他,需要加上编码格式的设定
设置为gbk编码读取
var rdata = spark.read.option("header", false).option("encoding","gbk").option("delimiter", ",").csv("/tmp/ggbkk.csv")