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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Apache spark ApacheSpark:在下一个操作后取消持久化RDD?_Apache Spark_Rdd - Fatal编程技术网

Apache spark ApacheSpark:在下一个操作后取消持久化RDD?

Apache spark ApacheSpark:在下一个操作后取消持久化RDD?,apache-spark,rdd,Apache Spark,Rdd,在spark编程中,当我在RDD上调用persist/cache()时,我发现在许多情况下,它的可重用性寿命不是最佳的: 也就是说,它总是持续几个小时,之后RDD存储从executor的内存和磁盘中移出。这有时会导致性能/GC问题:有时RDD存储会在驱动程序上的RDD实现本身被垃圾收集后很长时间内耗尽内存(直到几个小时后,但对于经常缓存/检查点的作业来说,这仍然是低效的)。有时反之亦然:即使驱动程序jvm仍然引用RDD对象,RDD存储也会被逐出,以后可能会重用它 我正在寻找一种方法来覆盖它。“u

在spark编程中,当我在RDD上调用persist/cache()时,我发现在许多情况下,它的可重用性寿命不是最佳的:

也就是说,它总是持续几个小时,之后RDD存储从executor的内存和磁盘中移出。这有时会导致性能/GC问题:有时RDD存储会在驱动程序上的RDD实现本身被垃圾收集后很长时间内耗尽内存(直到几个小时后,但对于经常缓存/检查点的作业来说,这仍然是低效的)。有时反之亦然:即使驱动程序jvm仍然引用RDD对象,RDD存储也会被逐出,以后可能会重用它

我正在寻找一种方法来覆盖它。“unpersist()”函数很少有用:由于执行缓慢,只能在下一个操作后调用它,而下一个操作不能由创建它的时间来确定。是否有一种模式将RDD标记为“下一个操作后取消持久化”?这样可以节省大量内存和磁盘空间