欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Python语言开发的Spark应用程序怎么运行的?

时间:2023-05-24

通过py4j第三方工具,将python语言映射到JVM的字节码程序

(1)在Driver端,通过【Py4j】实现在Python中调用Java的方法,即将用户写的PySpark程序”映射”到【JVM】中,例如,用户在PySpark中实例化一个Python的SparkContext对象,最终会在JVM中实例化Scala的【SparkContext】对象;

(2)在Executor端,则【不需要】借助Py4j,因为Executor端运行的Task逻辑是由【Driver】发过来的,那是序列化后的字节码,虽然里面可能包含有用户定义的Python函数或Lambda表达式,Py4j并不能实现在Java里调用Python的方法,为了能在Executor端运行用户定义的Python函数或Lambda表达式,则需要为每个Task单独启一个【python】进程,通过socket通信方式将Python函数或Lambda表达式发给Python进程执行。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。