在本地机器(Win10 64、Python 3、Spark 2.4.0)上安装它并设置所有环境变量(HADOOP_HOME、SPARK_HOME 等)后,我试图通过 WordCount.py 文件运行一个简单的 Spark 作业:from pyspark import SparkContext, SparkConfif __name__ == "__main__": conf = SparkConf().setAppName("word count").setMaster("local[2]") sc = SparkContext(conf = conf) lines = sc.textFile("C:/Users/mjdbr/Documents/BigData/python-spark-tutorial/in/word_count.text") words = lines.flatMap(lambda line: line.split(" ")) wordCounts = words.countByValue() for word, count in wordCounts.items(): print("{} : {}".format(word, count))从终端运行后:spark-submit WordCount.py我得到以下错误。我检查(通过逐行注释)它在wordCounts = words.countByValue()知道我应该检查什么才能使它工作吗?在安装资源方面 - 我按照本教程中的说明进行操作:从Apache Spark 网站下载 spark-2.4.0-bin-hadoop2.7.tgz将它解压到我的 C 盘已经安装了 Python_3(Anaconda 发行版)以及 Java创建本地 'C:\hadoop\bin' 文件夹来存储 winutils.exe创建 'C:\tmp\hive' 文件夹并授予 Spark 访问权限添加了环境变量(SPARK_HOME、HADOOP_HOME 等)我应该安装任何额外的资源吗?
3 回答

繁花如伊
TA贡献2012条经验 获得超12个赞
问题的核心是pyspark和python的连接,通过重新定义环境变量来解决。
我刚刚将环境变量的值PYSPARK_DRIVER_PYTHON
从ipython
tojupyter
和PYSPARK_PYTHON
frompython3
更改为python
。
现在我使用 Jupyter Notebook、Python 3.7、Java JDK 11.0.6、Spark 2.4.2

跃然一笑
TA贡献1826条经验 获得超6个赞
将 Spark 从 2.4.0 降级回 2.3.2 对我来说还不够。我不知道为什么,但在我的情况下,我必须从 SparkSession 创建 SparkContext 就像
sc = spark.sparkContext
然后同样的错误消失了。
添加回答
举报
0/150
提交
取消