【问题标题】:Spark broadcast vs. Singleton wrapperSpark 广播与 Singleton 包装器
【发布时间】:2017-07-08 02:41:55
【问题描述】:

我是 Spark 的新手,我试图了解使用广播 var 对使用单例包装器有什么好处。 我知道 Spark 还尝试使用有效的广播算法来分发广播变量以降低通信成本——但让我们假设这在长期存在的应用程序上发生一次,因此不是开销。

是每个任务都会持有一个单子副本还是只有执行者本身?

我试图了解它如何与单例一起使用并将其与广播进行比较。

如果这个问题再次出现,请告诉我,因为我没有找到答案。

【问题讨论】:

    标签: java apache-spark singleton broadcast bigdata


    【解决方案1】:

    是每个任务都会持有一个单子副本还是只有执行者本身?

    每个工作人员都保留一个广播变量的缓存副本。所有需要访问广播变量的任务都参考驻留在该工作人员上的同一个副本。是的,它是每个工作人员的一个副本,但不是 JVM 级别的单例,因为它的生命周期由 BroadcastManagerContextCleaner 管理。

    这本书在这里对它进行了精彩的描述https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-broadcast.html 看看它在该图中的描述有多好。

    【讨论】:

    • 找不到页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多