Spark中的checkpoint做用與用法

checkpoint的意思就是創建檢查點,相似於快照,例如在spark計算裏面 計算流程DAG特別長,服務器須要將整個DAG計算完成得出結果,可是若是在這很長的計算流程中忽然中間算出的數據丟失了,spark又會根據RDD的依賴關係從頭至尾計算一遍,這樣子就很費性能,固然咱們能夠將中間的計算結果經過cache或者persist放到內存或者磁盤中,可是這樣也不能保證數據徹底不會丟失,存儲的這個內存出問題了或者磁盤壞了,也會致使spark從頭再根據RDD計算一遍,因此就有了checkpoint,其中checkpoint的做用就是將DAG中比較重要的中間數據作一個檢查點將結果存儲到一個高可用的地方(一般這個地方就是HDFS裏面)
通常咱們先進行cache而後作checkpoint就會只走一次流程,checkpoint的時候就會從剛cache到內存中取數據寫入hdfs中
其中做者也說明了,在checkpoint的時候強烈建議先進行cache,而且當你checkpoint執行成功了,那麼前面全部的RDD依賴都會被銷燬服務器

相關文章
相關標籤/搜索