首页 > 解决方案 > 当我们将 jar 导入 pyspark shell 时,后台会发生什么

问题描述

我了解 pyspark shell 使用 Python 解释器。如何将 jar 导入其中?后台发生了什么使之成为可能?

标签: pythonapache-sparkpyspark

解决方案


简而言之,没什么,因为您只需将 jar 导入Python 解释器(好吧,除非您使用 Jython,但那是另一回事)。

在 PySpark 中,Python 解释器使用套接字与 JVM 通信。

  • Python 序列化数据(某种形式)或命令,并通过套接字将其发送到 JVM 进程。
  • JVM 进程对事物进行反序列化,决定如何处理它,计算结果并通过套接字将其发送到 Python 解释器。

如果发生任何从 jar 导入,它会发生在 JVM 的“自然”环境中。

它使用的特定工具是Py4j,因此您可以在对实现细节感兴趣的情况下查看它,但也存在其他类似的工具。


推荐阅读