如何解决Azure 事件中心流:检查点是否覆盖 setStartingPosition?
如果我们像这样在 EventHub conf 中指定起始位置:
EventHubsConf(ConnectionStringBuilder(eventHubConnectionString).build)
.setStartingPosition(EventPosition.fromStartOfStream)
or
.setStartingPosition(EventPosition.fromEndOfStream)
并在StreamWriter中指定检查点位置
streamingInputDF
.writeStream
.option("checkpointLocation",checkpointLocation)
...
重新启动后,是否 setStartingPosition
变得无关紧要,因为检查点始终用作开始读取的点?
谢谢。
解决方法
重新启动streamimg查询时将使用检查点文件中存储的偏移量信息。
有趣的是,这在 structured streaming eventhubs integration guide 中没有特别提及,但是,在 DStreams guide 中却是:
“连接器与结构化流检查点机制完全集成。您可以通过在查询中设置检查点位置来恢复查询失败的进度和状态。此检查点位置必须是 HDFS 兼容文件系统中的路径,并且可以在启动查询时设置为 DataStreamWriter 中的一个选项。"
请务必遵循有关 checkpoint recovery 的一般指南。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。