问题
你有一个结构化的流媒体通过S3-SQS连接器工作运行。假设您想重现源SQS, SNS的支持数据,你想进行一个新的队列处理同样的工作,在同一输出目录。
解决方案
使用以下过程:
- 创建新的SQS队列和订阅s3-events(从SNS)。在这一点上,同样的消息是在新旧队列。
- 设置选项allowOverwrites来假在新的流媒体工作并开始运行它。
- 拿一个重叠的时间间隔大于触发时间短,关闭旧的工作。
为什么这个工作吗?
与SQS流,Apache火花维护检查点目录中的文件路径。如果你设置allowOverwrites来假(默认为真正的获取的),一个将被丢弃而同时运行队列。在这种情况下,文件没有再加工,没有任何副本或数据丢失。