首先是结论:最终我没能在win10上运行起来spark, 官方给的quickstart : http://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html#DataFrame-Creation 在jupyter notebook 里运行各报错。最终还是在centos7 虚拟机里运行起来了spark, 安装简单方便不用配环境。
下面是在win10安装spark的时候遇到的各种坑:
本来以为pip install pyspark一下就完事了,但是这样装完后还是用不了spark。然后根据各种报错把环境变量修改成如下(加了JAVA_HOME, SPARK_HOME),PATH里也加了跟java和spark有关的两行
但是还是不行,即使conda activate spark这个环境后在命令行输入pyspark 还是报错Failed to find Spark jars directory. You need to build Spark before running this program. 网上查过来都说什么SPARK_HOME的路径有空格,但是我明明没有空格。一通瞎操作过后终于是跑起来了:
在使用spark前加上了如下代码
import os
os.environ[‘JAVA_HOME’] = ‘C:\Tools\javajre’ # 这里的路径为java jre的bin目录所在路径(我也不知道JDK有啥用,而且如果写的是JDK的路径的话会错报Exception: Java gateway process exited before sending its port number)。另外环境变量是这样了。SPARK_HOME改成了https://downloads.apache.org/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz这里下载的东西
还是不行,运行官方的quickstart还是各种报错,但都涉及了SparkException: Python worker failed to connect back. 懒得搞这些无聊的版本匹配的问题了,直接去CENTOS7虚拟机里运行一下看看,要是虚拟机里运行quickstart都报错的话那就暂时不学SPARK了
果然还是linux下不会出问题,就conda create -n spark 创建环境然后再conda install pyspark(默认装的是2.4.0)就能直接用了,也不用配东西。不过虚拟机里已经自带了一个JAVA