Spark Streaming 从停止中恢复

Spark streaming recover from stoppage

我正在寻找一种将文件中的日志数据流式传输到我们的数据库中的方法。我一直在阅读有关 Spark streaming and Storm 实时管理的内容,但我不知道如何管理因停机而未处理的数据。

我的意思是,假设系统是 运行 并且数据是实时处理的,系统突然停止并在 10 分钟后重新启动。有没有办法在不影响实时流的情况下处理这些待处理数据?

谢谢

例如,在 Storm 上,您需要从可靠的数据源读取数据,该数据源保存传入的消息并允许消费者从停止的地方继续。此类数据源的一个示例是 kafka

Kafka 的情况下,直播不会因为您的消费者(storm、spark 或您正在使用的任何东西)停止而停止。 Kafka 将继续接收消息并将它们继续提供给订阅特定流的客户端。

容错的关键在于您选择分发您的直播流的系统,而不是您选择处理它的工具。 只要消息系统允许,您的处理工具总是可以从它们停止的地方恢复并继续处理

另一个可以处理消费者故障的消息系统代理是Rabbit MQ