1. key not found: _PYSPARK_DRIVER_CALLBACK_HOST报错
https://blog.csdn.net/qq_40454655/article/details/100224589
2. TypeError: namedtuple() missing 3 required keyword-only arguments: 'verbose', 'rename', and 'module'
https://blog.csdn.net/gdkyxy2013/article/details/80164773
3. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
在 ~/.bashrc 设置一下 export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
export PATH=$PATH:$ LD_LIBRARY_PATH
4. spark 报错:py4j.protocol.Py4JJavaError
原来spark默认是从hdfs上都文件的,博主的文件存放在本地路径下,因此需要改为:lines = sc.textFile("file:///home/key/README.md")
而hdfs的则为:lines = sc.textFile("/README.md")
5. 'SparkConf' object has no attribute '_get_object_id'
这是因为我的代码是:SparkConf(conf),所以报错
初始化时最好使用conf=conf的方式,防止默认位置参数的影响。
6. Linux的pycharm里输入不了中文
https://blog.csdn.net/huowa9077/article/details/80982976
7. 如何在pycharm代码上使用pyspark
8. 安装pycharm并与anaconda连接以及anaconda的一些常用命令?
https://blog.csdn.net/xiaozaizi666/article/details/84137768
https://www.jianshu.com/p/eaee1fadc1e9
9. Exception:Python in worker has different version 3.7 than that in driver 2.7,PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.
用windows的pycharm写代码,用虚拟机上的python环境调试。
虚拟机环境:linux、spark-2.4.4-bin-hadoop2.6、anaconda:原装python3.7,我新增了python2.7和python3.7、我在anaconda的python2.7中安装了py4j-0.10.7和pyspark-2.4.4,py4j的版本参照spark-2.4.4-bin-hadoop2.6中的版本
linux的环境变量中因为安装了anaconda而修改了环境变量,export PATH=$ANACONDA_HOME/bin:$PATH。原本没有这句话的时候,在命令行输入python之后,系统会寻找/usr/bin/python。现在有了这句话,输入python之后,系统会在anaconda目录/bin/python这里找python。
但在windows上的pycharm用虚拟机的环境调试代码时报以上错误。这里 version 3.7是系统寻找python环境时找到的python版本,这个就是anaconda目录/bin/python;而driver 2.7是pip安装pyspark所在的python版本;所以需要改变 anaconda目录/bin/python的python版本。
解决:
①先备份anaconda目录/bin/python,再删除anaconda目录/bin/python
②建立软连接,使得系统走进anaconda目录/bin/python是走进pip安装pyspark所在的python
ln -s /usr/local/src/anaconda3/envs/python2/bin/python /usr/local/src/anaconda3/bin/python (ln -s 源文件 目标文件)