首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python进程在executor节点上使用ram共享广播变量吗?

python进程在executor节点上使用ram共享广播变量吗?
EN

Stack Overflow用户
提问于 2016-10-17 09:18:24
回答 1查看 973关注 0票数 10

我有一个节点,它有24个核心和124 in内存在我的星体集群中。当我将spark.executor.memory字段设置为4g,然后广播一个以3.5gb存储在ram中的变量时,内核是否会总共保存该变量的24份副本?还是一份?

我使用的是吡咯烷酮- v1.6.2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-17 12:56:47

我相信PySpark不会使用任何形式的共享内存来在工作人员之间共享广播变量。

在类似Unix的系统上,在辅助程序的主函数中广播变量装上,这个函数只从守护进程调用后叉,因此不能从父进程空间访问。

如果您想在不使用外部服务的情况下减少大型变量的占用,我建议使用带有内存映射的文件支持对象。这样,您就可以有效地使用例如NumPy阵列

相反,本机( JVM ) Spark应用程序确实在单个executor JVM上的多个执行器线程之间共享广播变量。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40082586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档