当我们将一个jar导入pyspark shell时,后台会发生什么

时间:2018-07-20 12:59:53

标签: python apache-spark pyspark

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

1 个答案:

答案 0 :(得分:2)

简而言之,因为您只需导入一个罐子到Python解释器(好吧,除非您使用Jython,但这是另一回事)。

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

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

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

使用的特定工具是Py4j,因此您可以对实施细节感兴趣,以进行检查,但是那里还存在其他类似的工具。