【问题标题】:What are the pros and cons of using broadcast variables in a singleton?在单例中使用广播变量的优缺点是什么?
【发布时间】:2016-04-10 05:47:03
【问题描述】:

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

【问题讨论】:

    标签: java apache-spark broadcast


    【解决方案1】:

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

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

    在 Spark 中创建广播变量后,您将获得一个围绕 v 的 包装器(通过调用 broadcastVar.value() 访问),因此使用单例将使用单例引用作为包装器,而不是实际值等,无论哪种方式,单例模式的影响都可能要小得多。
    您还可以在 Spark 执行的整个生命周期中使用相同的包装器引用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-13
      • 2010-09-08
      • 1970-01-01
      • 2011-02-04
      • 2010-09-06
      • 2015-12-01
      • 1970-01-01
      • 2019-12-13
      相关资源
      最近更新 更多