Spark Streaming 改进数据管道但保持持续交付
Spark Streamin improving data pipeline but maintiaining continuous delivery
我正在开发一个数据管道,它将使用来自 Kafka 的数据,通过 Spark Streaming 处理数据并将其引入 Cassandra。
我将投入生产的数据管道肯定会在几个月后得到改进。但是如何从旧数据管道迁移到新数据管道,同时保持持续交付并避免任何数据丢失?
谢谢
具体的解决方案将取决于您的应用程序的具体要求。一般情况下,Kafka 会为你充当缓冲区。进入 Kafka 的消息在主题过期时间后保留。
在 Spark 流中,您需要通过快照自动或手动跟踪消耗的偏移量(我们稍后会做,因为它提供了更多的恢复选项)。
然后您可以停止、部署新版本并从之前离开的地方重新启动您的管道。在此模型中,消息以至少一次语义和零数据丢失进行处理。
我正在开发一个数据管道,它将使用来自 Kafka 的数据,通过 Spark Streaming 处理数据并将其引入 Cassandra。
我将投入生产的数据管道肯定会在几个月后得到改进。但是如何从旧数据管道迁移到新数据管道,同时保持持续交付并避免任何数据丢失?
谢谢
具体的解决方案将取决于您的应用程序的具体要求。一般情况下,Kafka 会为你充当缓冲区。进入 Kafka 的消息在主题过期时间后保留。
在 Spark 流中,您需要通过快照自动或手动跟踪消耗的偏移量(我们稍后会做,因为它提供了更多的恢复选项)。
然后您可以停止、部署新版本并从之前离开的地方重新启动您的管道。在此模型中,消息以至少一次语义和零数据丢失进行处理。