小编San*_*ddy的帖子

当缓存(MEMORY_ONLY持久性)数据不适合内存时,spark如何处理内存不足错误?

我是 Spark 新手,无法找到明确的答案:当缓存的数据不适合内存时会发生什么?

我在很多地方发现,如果 RDD 不适合内存,某些分区将不会被缓存,并且会在每次需要时动态重新计算。

例如:假设创建了 500 个分区,并假设 200 个分区没有缓存,那么我们必须通过重新评估 RDD 来重新计算剩余的 200 个分区。

如果是这种情况,那么 OOM 错误本不应该发生,但它却发生了。原因是什么?

非常感谢详细的解释。提前致谢

caching partitioning out-of-memory apache-spark rdd

5
推荐指数
1
解决办法
3692
查看次数

当shuffle分区大于200时会发生什么(dataframe中的spark.sql.shuffle.partitions 200(默认))

打乱数据的spark sql聚合操作,即spark.sql.shuffle.partitions 200(默认情况下)。当 shuffle 分区大于 200 时,性能会发生什么变化。

当分区数量大于 2000 时,Spark 使用不同的数据结构进行随机簿记。因此,如果分区数量接近 2000,则将其增加到 2000 以上。

但我的问题是,当 shuffle 分区大于 200(假设为 300)时,会发生什么行为。

aggregate shuffle data-partitioning apache-spark

2
推荐指数
1
解决办法
4167
查看次数