Spark:执行器有多少内存可供应用程序使用?

uinbv5nw  于 2023-06-24  发布在  Apache
关注(0)|答案(1)|浏览(106)

我正在编写一个算法,用于处理内存中的“大块”数据。我使用JavaPairRDD.groupByKey()来指定块,但我不清楚如何计算最佳块大小。它越大,算法运行得越快。给定块大小,我可以估计我的内存使用量,但实际上有多少执行器内存可供我使用(而不是Spark声称自己使用)?有没有什么方法可以编程地向Spark建议我在转换链中有一个内存密集型的步骤?

lfapxunr

lfapxunr1#

不要紧,this post解释得真的很好。您将得到(HeapSize – ReservedMemory) * (1.0 – spark.memory.fraction),对于一个4GB的堆,假定其他参数为默认设置,则该值约为1500MB。

相关问题