Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala destroy()和unpersist()之间有什么区别?_Scala_Apache Spark - Fatal编程技术网

Scala destroy()和unpersist()之间有什么区别?

Scala destroy()和unpersist()之间有什么区别?,scala,apache-spark,Scala,Apache Spark,Spark附带广播变量,这允许我们在每台机器上缓存一个只读变量,而不是在任务中附带一个副本 当然,当不再使用“广播变量”时,删除该变量是很自然的。但是,似乎有两种删除广播变量的方法,它们是: unpersist() //Destroy all data and metadata related to this broadcast variable. destroy() //Asynchronously delete cached copies of this broadcast on the e

Spark附带广播变量,这允许我们在每台机器上缓存一个只读变量,而不是在任务中附带一个副本

当然,当不再使用“广播变量”时,删除该变量是很自然的。但是,似乎有两种删除广播变量的方法,它们是:

unpersist() //Destroy all data and metadata related to this broadcast variable.
destroy() //Asynchronously delete cached copies of this broadcast on the executors.

我不确定是否正确理解了所有内容,unpersist()是否与delete()相同,但是同步的?这对我来说是不清楚的。

因为它是在两个当前可用的具体实现中实现的(和),所以有两个区别:

  • destroy
    为阻塞(),而
    unpersist
    默认为非阻塞
  • destroy
    驱动程序中删除持久化块,而
    unpersist
    则不删除
否则,它们将使用与
BlockMangerMaster
相同的逻辑