Python 工作者无法重新连接

在本地机器(Win10 64、Python 3、Spark 2.4.0)上安装它并设置所有环境变量(HADOOP_HOME、SPARK_HOME 等)后,我试图通过 WordCount.py 文件运行一个简单的 Spark 作业:


from pyspark import SparkContext, SparkConf


if __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()

知道我应该检查什么才能使它工作吗?

在安装资源方面 - 我按照本教程中的说明进行操作:

  1. Apache Spark 网站下载 spark-2.4.0-bin-hadoop2.7.tgz

  2. 将它解压到我的 C 盘

  3. 已经安装了 Python_3(Anaconda 发行版)以及 Java

  4. 创建本地 'C:\hadoop\bin' 文件夹来存储 winutils.exe

  5. 创建 'C:\tmp\hive' 文件夹并授予 Spark 访问权限

  6. 添加了环境变量(SPARK_HOME、HADOOP_HOME 等)

我应该安装任何额外的资源吗?


慕码人8056858
浏览 208回答 3
3回答

喵喵时光机

我得到了同样的错误。我通过安装以前版本的 Spark(2.3 而不是 2.4)解决了这个问题。现在完美运行了,可能是pyspark最新版本的问题。

繁花如伊

问题的核心是pyspark和python的连接,通过重新定义环境变量来解决。我刚刚将环境变量的值PYSPARK_DRIVER_PYTHON从ipythontojupyter和PYSPARK_PYTHONfrompython3更改为python。现在我使用 Jupyter Notebook、Python 3.7、Java JDK 11.0.6、Spark 2.4.2

跃然一笑

将 Spark 从 2.4.0 降级回 2.3.2 对我来说还不够。我不知道为什么,但在我的情况下,我必须从 SparkSession 创建 SparkContext 就像sc = spark.sparkContext然后同样的错误消失了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python