Pyspark shell使用Py4J启动Java网关,然后与它通信并将python SparkContext发送到Java网关。
但是,我怎么知道Spark Context打开了哪个端口? PySpark如何决定使用哪个端口来创建Java网关Spark Context?
其他问题:
答案 0 :(得分:1)
也许PySpark正在使用默认端口,有关详细信息,请参阅Py4J文档https://www.py4j.org/faq.html#what-ports-are-used-by-py4j。
答案 1 :(得分:0)
从驱动程序中的可用端口中随机选择端口。 pyspark使用一个临时文件的名称作为参数启动spark Java进程,该Java进程将端口和auth_token写入该临时文件。 Python读取临时文件并创建py4j网关。您可以在sc._gateway中访问py4j网关,并从sc._gateway.gateway_parameters.port中读取端口。