处理数据-Spark结构化流

时间:2019-04-02 19:16:59

标签: apache-spark pyspark apache-kafka spark-structured-streaming

据我所知,火花结构化流是通过使用检查点来实现的容错功能。

我想读卡夫卡。

因此,假设我使用检查点,然后由于某种原因我的代码崩溃/将其停止,那么我希望当我重新运行代码时,它将恢复处理后的数据。

我的问题是,在读取配置中,如果我将偏移量设置为最早,那么在重新运行代码后,我将再次读取相同的数据,并且如果我放最新的内容,则在两次代码崩溃之前,我都不会读取数据重新运行代码。

是否可以通过Spark 2.3-结构化流(pyspark)仅读取来自kafka的未读消息,并从检查点恢复经过处理的数据?

1 个答案:

答案 0 :(得分:0)

这取决于代码崩溃的位置。您不需要最早设置,可以将其设置为最新。您随时可以从检查点中恢复并重新处理数据Here is the semantics of checkpointing