gpt4 book ai didi

scala - destroy() 和 unpersist() 有什么区别?

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

Spark 附带广播变量,这允许我们在每台机器上缓存一个只读变量,而不是随任务一起发送它的副本。
当然,当“广播变量”不再使用时,删除这个变量是很自然的。但是from the documentation ,似乎有两种删除广播变量的方法:

unpersist() //Destroy all data and metadata related to this broadcast variable.
destroy() //Asynchronously delete cached copies of this broadcast on the executors.
我不确定是否正确理解所有内容,unpersist() 是否与 delete() 相同但同步?这对我来说不清楚。

最佳答案

由于它在两个当前可用的具体实现( HttpBroadcast TorrentBroadacst )中实现,因此有两个区别:

  • destroy正在阻塞 ( awaits for confirmation ) 而 unpersist默认情况下是非阻塞的
  • destroydriver 中删除持久块而 unpersist没有

  • 否则,这些使用与 BlockMangerMaster 相同的逻辑。 .

    关于scala - destroy() 和 unpersist() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33920979/

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