Apache Spark如何处理python多线程问题?

发布于 2021-01-29 14:55:20

根据python的GIL,我们不能在CPU绑定的进程中使用线程,所以我的问题是Apache
Spark如何在多核环境中利用python?

关注者
0
被浏览
163
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    多线程python问题与Apache Spark内部结构分开。Spark上的并行性在JVM内部处理。

    在此处输入图片说明

    原因是在Python驱动程序中,SparkContext使用Py4J启动JVM并创建JavaSparkContext。

    Py4J仅在驱动程序上用于Python和Java SparkContext对象之间的本地通信。大数据传输是通过不同的机制执行的。

    Python中的RDD转换映射为Java中的PythonRDD对象的转换。在远程工作机上,PythonRDD对象启动Python子进程,并使用管道与它们进行通信,发送用户的代码和要处理的数据。

    PS:我不确定这是否能完全回答您的问题。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看