如何解决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 举报,一经查实,本站将立刻删除。