gpt4 book ai didi

apache-spark - 如果 Spark 广播连接太大会怎样?

转载 作者:行者123 更新时间:2023-12-04 04:10:42 25 4
gpt4 key购买 nike

在进行 Spark 性能调优时,我发现(不出所料)进行广播连接可以消除随机播放并提高性能。我一直在尝试在更大的连接上进行广播,并且我已经能够成功地使用我预期的更大的广播连接——例如广播一个 2GB 压缩(和更大的未压缩)数据集,在具有 30GB 内存/节点的 60 节点集群上运行。

但是,我担心将其投入生产,因为我们的数据大小会波动,而且我想知道如果广播变得“太大”会发生什么。我在想象两种情况:

A) 数据太大而无法放入内存,因此其中一些数据被写入磁盘,性能略有下降。这样就好了。或者,

B) 数据太大而无法放入内存,因此它会抛出 OutOfMemoryError 并导致整个应用程序崩溃。不太好。

所以我的问题是:当 Spark 广播连接太大时会发生什么情况?

最佳答案

广播变量是普通的本地对象,不包括分发和序列化,它们的行为与您使用的任何其他对象一样。如果它们不适合内存,您将获得 OOM。除了内存分页之外,没有什么魔法可以阻止这种情况。

因此广播不适用于可能不适合内存的对象(并为标准 Spark 操作留下大量空闲内存)。

关于apache-spark - 如果 Spark 广播连接太大会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com