Spark stateSnapshots()无法与saveAsHadoopFiles一起使用

时间:2018-07-18 11:12:52

标签: apache-spark apache-spark-sql spark-streaming apache-spark-dataset

在我的Spark Streaming 1.6应用程序中,我想将某些值存储在mapWithState中,然后定期将它们作为备份选项保存到磁盘。

JavaMapWithStateDStream<String, SwMessage, CcState, Tuple2<String, CcState>> SwMessageWithState = 
  pairSwMsg.
    mapWithState(StateSpec.function(mappingFunc).
    initialState(cStateMap));

对于备份,我正在使用stateSnapshots()方法,如下所示。

SwMessageWithState.stateSnapshots().
  saveAsHadoopFiles("/ccd/snap", "txt",String.class,CcState.class, TextOutputFormat.class);

我面临的问题是程序在第一批处理后停止使用消息,然后什么也不做。

如果我在stateSnapshots()行中添加注释,则程序运行正常。

有人可以暗示上述说法到底有什么问题吗?

我还考虑在下次initialState作业运行时将snapshopt目录作为SparkStreaming状态文件。

0 个答案:

没有答案