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