【发布时间】:2018-04-19 23:00:01
【问题描述】:
我想在以下情况下更好地理解 Spark 2.2 结构化流的一致性模型:
- 一个来源(Kinesis)
- 从该源向 2 个不同的接收器进行 2 次查询:一个用于存档目的的文件接收器 (S3),另一个用于处理数据的接收器(数据库或文件,尚未确定)
我想了解是否有跨接收器的一致性保证,至少在某些情况下:
- 一个水槽可以领先于另一个吗?还是他们在源上以相同的速度消耗数据(因为它的源相同)?它们可以同步吗?
- 如果我(优雅地)停止流应用程序,两个接收器上的数据是否一致?
原因是我想构建一个类似Kappa 的处理应用程序,能够在我想重新处理某些历史记录时暂停/关闭流式传输部分,并且当我恢复流式传输时,避免重新处理某些内容已经被处理过(在历史中),或者丢失了一些(例如,一些尚未提交到存档的数据,然后在流媒体恢复时跳过已处理)
【问题讨论】:
-
我在同一条船上。您是否找到了保持两个水槽之间一致性的解决方案?如果是的话,你能分享你的方法吗..!谢谢
标签: apache-spark spark-streaming