spark使用checkpoint恢復的兩個小坑

1.spark在使用checkpoint恢復的時候不能再執行流的定義的流程,新加入的流的狀態在恢復完成後的spark狀態下處於未初始化狀態,在spark根據checkpoint恢復的時候將不會再對各個流進行初始化,而是直接保存的狀態中恢復。

這將導致新加入的流還未初始化就被調用,拋出stream還未初始化的異常。

2.spark在使用checkpoint恢復的過程中,不能恢復kryo序列化的類(比如採用kryo序列化的廣播變量)。

在進行checkpoint的過程,直接使用jdk的ObjectOutputStream進行序列化,如果只是實現了kryo序列化接口的類是不能被成功序列化的,自然是無法被寫進checkpoint文件中被恢復的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章