Python worker无法在Pyspark或spark版本2.3.1中重新连接

wz1wpwve  于 2022-11-01  发布在  Spark
关注(0)|答案(3)|浏览(172)

在安装anaconda3和spark(2.3.2)之后,我尝试运行示例pyspark代码。
这只是一个示例程序,我正在运行Jupyter,我得到一个错误,如
Python工作线程无法重新连接。
根据堆栈溢出中的以下问题:
Python worker failed to connect back
我可以看到这样的解决方案我得到了同样的错误。我解决了它安装以前版本的Spark(2. 3而不是2. 4)。现在它工作得很完美,也许是最新版本的PysPark的问题。
但我用的是spark 2.3.1版,python是3.7版
我仍然面临着这个问题。请帮助我解决这个错误

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("mySparkApp").getOrCreate()
testData=spark.sparkContext.parallelize([3,8,2,5])
testData.count()

回溯为:

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 1.0 failed 1 times, most recent failure: Lost task 2.0 in stage 1.0 (TID 6, localhost, executor driver): org.apache.spark.SparkException: Python worker failed to connect back.
    at org.apache.spark.api.python.PythonWorkerFactory.createSimpleWorker(PythonWorkerFactory.scala:170)
    at org.apache.spark.api.python.PythonWorkerFactory.create(PythonWorkerFactory.scala:97)
    at org.apache.spark.SparkEnv.createPythonWorker(SparkEnv.scala:117)
    at org.apache.spark.api.python.BasePythonRunner.compute(PythonRunner.scala:108)
    at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:65)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
atmip9wb

atmip9wb1#

只要添加环境变量PYSPARK_PYTHON作为python。2它解决了这个问题。3不需要升级或降级Spark版本。4它对我很有效。

sbdsn5lh

sbdsn5lh2#

按如下方式设置环境变量:

  • PYSPARK_DRIVER_PYTHON_OPTS=notebook
  • PYSPARK_DRIVER_PYTHON_OPTS=notebook
  • PYSPARK_PYTHON=python

问题的核心是pyspark和python之间的联系,通过改变它们来解决。

kmbjn2e3

kmbjn2e33#

请确保已正确设置了环境变量集,

相关问题