Spark中的checkpoint的机制,用在机器学习领域中较多,因为你要写很多的rdd,如果你在写rdd的过程中的部分rdd丢失了话,当然可以通过血统机制去恢复,但是这样十分消耗资源,所以一般会引入checkpoint机制,把写的那一堆的rdd进行保存到hdfs上面,这个保存的是这个rdd的结果,并不是最后你执行action的结果。当执行action的时候会发现有两个进程在执行,因为一个是计算任务一个是checkpoint任务,这样并不是很好的选择,当我们翻看checkpoint源码的时候,会发现这里面注释是这样写的,最佳的方式是先用cache,让rdd先存到内存中,这样在checkpoint的时候不用再启动另一个进程来执行。当我们想使用checkponit机制的时候,首先要创建一个存储checkpoint结果的文件夹(在hdfs上面),然后在执行checkpoint的时候他会在这个目录下 自动在创建一个子目录,这个子目录下面里面存储了checkpoint的rdd结果。在面试中cache()和checkpoint考的比较多。
Spark的checkpoint机制简析
最新推荐文章于 2022-04-27 10:43:00 发布