Pyspark错误:发送端口号之前,Java网关进程已退出

时间:2019-03-22 04:09:07

标签: python python-3.x pyspark jupyter-notebook

我正在使用Pyspark在Jupyter Notebook中运行一些命令,但是会引发错误。我尝试了此链接(Pyspark: Exception: Java gateway process exited before sending the driver its port number)中提供的解决方案 并且我尝试执行此处提供的解决方案(例如,更改C:Java的路径,卸载Java SDK 10并重新安装Java 8,但仍然会引发相同的错误。

我尝试卸载并重新安装pyspark,并且尝试从anaconda提示符运行,但仍然遇到相同的错误。我正在使用python 3.7和pyspark版本是2.4.0。

如果使用此代码,则会收到此错误。“异常:Java网关进程在发送其端口号之前已退出”。

from pyspark import SparkContext
from pyspark.sql import SQLContext
sc = SparkContext() 
sqlContext = SQLContext(sc)
from pyspark.mllib.linalg import Vector, Vectors
from nltk.stem.wordnet import WordNetLemmatizer
from pyspark.ml.feature import RegexTokenizer, StopWordsRemover, Word2Vec

但是,如果我从此代码中删除sparkcontext可以正常运行,但我的解决方案将需要spark上下文。下面没有Spark上下文的代码不会引发任何错误。

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.mllib.linalg import Vector, Vectors
from nltk.stem.wordnet import WordNetLemmatizer
from pyspark.ml.feature import RegexTokenizer, StopWordsRemover, Word2Vec

如果能得到帮助,我将不胜感激。我正在使用Windows 10 64位操作系统。

这里是完整的错误代码图片。

enter image description here

3 个答案:

答案 0 :(得分:2)

尝试

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

使用linux为我工作。它也适用于Windows

此链接将帮助您,因为您是Windows用户https://superuser.com/questions/947220/how-to-install-packages-apt-get-install-in-windows

答案 1 :(得分:0)

在您的bash终端中键入此内容,它将得到修复:

export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"

所有这些操作是将pyspark-shell导出到外壳环境变量PYSPARK_SUBMIT_ARGS

答案 2 :(得分:0)

您如何安装Spark?显然,您在启动Java进程时遇到了麻烦,这就是该错误的含义。

无论您在哪里找到信,您都可能希望使用该信中的说明再次安装Spark。但是,您也可以使用conda(anaconda或miniconda),在这种情况下,安装pyspark也会为您提供当前的Java

conda install pyspark