spark使用checkpoint恢复的两个小坑

1.spark在使用checkpoint恢复的时候不能再执行流的定义的流程,新加入的流的状态在恢复完成后的spark状态下处于未初始化状态,在spark根据checkpoint恢复的时候将不会再对各个流进行初始化,而是直接保存的状态中恢复。

这将导致新加入的流还未初始化就被调用,抛出stream还未初始化的异常。

2.spark在使用checkpoint恢复的过程中,不能恢复kryo序列化的类(比如采用kryo序列化的广播变量)。

在进行checkpoint的过程,直接使用jdk的ObjectOutputStream进行序列化,如果只是实现了kryo序列化接口的类是不能被成功序列化的,自然是无法被写进checkpoint文件中被恢复的。

发布了141 篇原创文章 · 获赞 19 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/weixin_40318210/article/details/102848271