如何在Eclipse IDE中修复“异常:Java网关进程在发送其端口号之前已退出”

时间:2019-01-11 05:55:57

标签: pyspark

我试图在Eclipse IDE的pydev环境中使用pyspark连接MySQL。 出现以下错误:

异常: Java网关进程在发送其端口号之前已退出

我已检查Java是否已正确安装,并且还在Windows->首选项-> Pydev-> Python解释器->环境中将PYSPARK_SUBMIT_ARGS设置为值--master local[*] --jars path\mysql-connector-java-5.1.44-bin.jar pyspark-shell

还设置了Java路径。尝试通过代码进行设置,但没有运气。

#import os
from pyspark import SparkContext
from pyspark import SparkConf

from pyspark.sql.context import SQLContext

#os.environ['JAVA_HOME']= 'C:/Program Files/Java/jdk1.8.0_141/'

#os.environ['PYSPARK_SUBMIT_ARGS'] = '--jars D:/Softwares/mysql-connector-java-5.1.44.tar/mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar pyspark-shell'

conf = SparkConf().setMaster('local').setAppName('MySQLdataread')

sc = SparkContext(conf=conf)

sqlContext = SQLContext(sc)

dataframe_mysql = sqlContext.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/").option("driver", "com.mysql.jdbc.Driver").option("dbtable", "XXXXX").option("user", "root").option("password", "XXXX").load()

dataframe_mysql.show()

1 个答案:

答案 0 :(得分:1)

我的问题略有不同,我正在Windows的spyder中运行spark。 当我使用

from pyspark.sql import SQLContext, SparkSession

我遇到了问题,并遵循了Google搜索链接,但无法解决问题。

然后我将导入更改为:

from pyspark.sql import SparkSession
from pyspark import  SQLContext

,错误消息消失。

我正在Windows,anaconda3,python3.7,spyder上运行,希望它对某人有帮助。

修改:
后来,我发现真正的问题出在下面。当任何配置无法正常工作时,都会出现相同的异常。以前,我使用的是28gb和4gb而不是28g和4g,这会导致我遇到的所有问题。

from pyspark.sql import SparkSession
from pyspark import  SQLContext
spark = SparkSession.builder \
    .master('local') \
    .appName('muthootSample1') \
    .config('spark.executor.memory', '28g') \
    .config('spark.driver.memory','4g')\
    .config("spark.cores.max", "6") \
    .getOrCreate()