繁体   English   中英

在单例中使用广播变量的优缺点是什么?

[英]What are the pros and cons of using broadcast variables in a singleton?

据我了解,广播变量只创建一次,但多次使用。 所以我发现我应该在单例类中创建一个广播变量,这是一个坏主意吗? 使用单例类来保存广播变量的优缺点是什么?

我认为广播变量值得一些解释,以便更好地理解这种机制的工作原理:

Broadcast变量允许在每台机器上保留一个只读变量,而不是随副本一起发送它的副本。 例如,它可以用于以有效的方式为每个节点提供大输入数据集的副本。
您可以在以下位置查看更多详细信息: Spark Broadcast变量

在Spark中创建一个广播变量后,你会得到一个v 包装器 (通过调用broadcastVar.value()访问),所以使用一个单例将使用包装器的单例引用,而不是实际值,因此,单例无论如何,模式可能会产生更小的影响。
您还可以在Spark执行的整个生命周期中使用相同的包装器引用。

由于这是对只读变量的引用,因此这些选项将呈现类似的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM