我已经停止了对Spark的数据输入,但是我仍然可以看到Spark保持着删除RDD,如下所示:
15/07/30 10:03:10 INFO BlockManager: Removing RDD 136661
15/07/30 10:03:10 INFO BlockManager: Removing RDD 136662
15/07/30 10:03:10 INFO BlockManager: Removing RDD 136664
15/07/30 10:03:10 INFO BlockManager: Removing RDD 136663我搞不懂为什么即使没有生成新的数据和RDD,generated也会不断地删除RDD。
发布于 2015-07-30 18:14:02
您可能知道,Spark使用LRU算法管理持久化RDDs。虽然您没有添加更多的数据,但很有可能星火正在删除那些RDD,因为它们已经超出了星火应用程序(job)的范围,或者只是“太老了”。
缓存的RDDs的生命周期由TimeStampedWeakValueHashMap管理。基本上,如果RDD的时间戳大于特定阈值,则在调用clearOldValues()时将删除RDD。
您的回答意味着您希望确保这些RDD不会被删除,所以您可能想看看将你的火花数据直接保存到卡桑德拉,因为它们在一起玩得很好。
发布于 2015-07-30 17:53:29
这是因为你可能在分布式模式下运行它?数据分布在多个节点上,因此应该反映在整个网络中。所以它不可能是瞬间的。
https://stackoverflow.com/questions/31730284
复制相似问题