Spark执行器最大内存限制

Ade*_*nde 3 scala apache-spark apache-spark-sql

我想知道 Spark 执行器内存是否有大小限制?

考虑运行一个糟糕的工作来进行收集、联合、计数等的情况。

只是一点背景信息,假设我有这些资源(2 台机器)

Cores: 40 cores, Total = 80 cores
Memory: 156G, Total = 312
Run Code Online (Sandbox Code Playgroud)

更大和更小的执行者有什么建议?

mar*_*ios 5

Spark开发团队的建议是不要使用超过64GB左右的执行器(Databricks的培训视频中经常提到)。这个想法是,更大的 JVM 将拥有更大的堆,这可能会导致垃圾收集周期非常慢。

我认为让您的执行程序使用 32GB 甚至 24GB 或 16GB 是一个很好的做法。因此,您不用拥有 1 个大的,而是拥有 2-4 个较小的。

它可能会有更多的协调开销,但我认为这些对于绝大多数应用程序来说应该没问题。

如果您还没有阅读这篇文章,请阅读。