微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PySpark使Py4J无法连接到服务器127.0.0.1:xxxxx; Py4JNetworkError

如何解决PySpark使Py4J无法连接到服务器127.0.0.1:xxxxx; Py4JNetworkError

我在使用PySpark时遇到以下错误

Py4JNetworkError: An error occurred while trying to connect to the Java server (127.0.0.1:50854)

当出现问题时,SparkSession似乎完全破坏了Py4j服务器连接。

例如dfp = dfs.toPandas()将触发错误; dfs拥有超过1000万条记录,因此我不建议使用toPandas()这样大的记录集,但是能够做到这一点将是一件很不错的事情! 编辑:即使df.limit(100).toPandas()也会断开连接。

一个代码破坏者是:

udf_func =  psf.udf (lambda x: x[0] - x[1])
dfs.withColumn('new_col',udf_func (psf.col('col1'),psf.col('col2'))).collect()

请注意,我可以通过调用dfp.apply(func,axis = 1)在Pandas上运行它。

我发现唯一可行的解​​决方案是重新启动Python内核,但是每次必须从头开始运行我的代码确实让我感到烦恼。如果有人可以帮助我了解这里的情况,我将不胜感激。

作为参考,这是我的构造:

spark = SparkSession.builder \
        .master("local[*]") \
        .appName('data_process') \
        .getorCreate()

我还尝试通过以下方式配置会话:

       .config("spark.ui.port",port) \
       .config("spark.port.maxRetries",999999) \
       .config("spark.sql.execution.arrow.enabled","true") \

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。