首页 > 解决方案 > Pyspark 错误:Java 网关进程在发送其端口号之前已退出

问题描述

我正在使用 Pyspark 在 Jupyter Notebook 中运行一些命令,但它会抛出错误。我尝试了此链接中提供的解决方案(Pyspark: Exception: Java gateway process exited before sent 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 上下文。下面没有火花上下文的代码不会引发任何错误。

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 位操作系统。

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

在此处输入图像描述

标签: pythonpython-3.xpysparkjupyter-notebook

解决方案


在你的 bash 终端中输入这个,它将被修复:

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

所有这些都是导出pyspark-shell到 shell 环境变量PYSPARK_SUBMIT_ARGS


推荐阅读