設置checkpoint存儲目錄,從最新的checkpoint恢復:
JavaStreamingContext ssc = JavaStreamingContext.getOrCreate(checkpointDirectory,
()-> createContext(ip,port,outputPath,checkpointDirectory));
createContext(String ip, int port, String outputPath, String checkpointDirectory):
public static JavaStreamingContext createContext(String ip, int port, String outputPath, String checkpointDirectory) {
//程序第一運行時會創建該條語句,如果應用程序失敗,則會從checkpoint中恢復,該條語句不會執
SparkConf sparkConf = new SparkConf().setAppName("RecoverableNetworkWordCount").setMaster("local");
// Create the context with a 1 second batch size
JavaStreamingContext ssc = new JavaStreamingContext(sparkConf, Durations.seconds(1));
ssc.checkpoint(checkpointDirectory);
return ssc;
}