3,Structured Streaming使用checkpoint进行故障恢复

使用checkpoint进行故障恢复

如果发生故障或关机,可以恢复之前的查询的进度和状态,并从停止的地方继续执行。这是使用Checkpoint和预写日志完成的。您可以使用检查点位置配置查询,那么查询将将所有进度信息(即,每个触发器中处理的偏移范围)和运行聚合(例如,示例中的wordcount)保存到检查点位置。此检查点位置必须是HDFS兼容文件系统中的路径,并且可以在启动查询时将其设置为DataStreamWriter中的选项。

具体测试代码如下:

val lines =spark.readStream.format("socket").option("host", "localhost").option("port", 9999).load()

val words =lines.as[String].flatMap(_.split(" "))

val wordCounts =words.groupBy("value").count()
val query =wordCounts.writeStream.queryName("aggregates").outputMode("complete").option("checkpointLocation", "memory/").format("memory").start()

spark.sql("select * from aggregates").show()

kill掉submit进行测试

推荐阅读:

1,2,StructuredStreaming的事件时间和窗口操作

2,译:Tensorflow实现的CNN文本分类

3,机器学习之学习率 Learning Rate

猜你喜欢

转载自www.cnblogs.com/wangfengxia/p/9626876.html