MAPREDUCE服务 MRS-为什么Spark Streaming应用创建输入流,但该输入流无输出逻辑时,应用从checkpoint恢复启动失败:回答

时间:2024-07-02 16:39:28

回答

Streaming Context启动时,如果应用设置了checkpoint,则需要对应用中的DStream checkpoint对象进行序列化,序列化时会用到dstream.context。

dstream.context是Streaming Context启动时从output Streams反向查找所依赖的DStream,逐个设置context。如果Spark Streaming应用创建1个输入流,但该输入流无输出逻辑时,则不会给它设置context。所以在序列化时报“NullPointerException”。

解决办法:应用中如果有无输出逻辑的输入流,则在代码中删除该输入流,或添加该输入流的相关输出逻辑。

support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2053.html