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

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

浪尖 浪尖聊大数据

使用checkpoint进行故障恢复

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


aggDF
 .writeStream
 .outputMode("complete")
 .option("checkpointLocation", "path/to/HDFS/dir")
 .format("memory")
 .start()

具体测试代码如下:


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进行测试
上一篇:DCGAN-carpedm


下一篇:如何利用事件溯源思想实现分布式任务编排的容错?