据我所知,火花结构化流是通过使用检查点来实现的容错功能。
我想读卡夫卡。
因此,假设我使用检查点,然后由于某种原因我的代码崩溃/将其停止,那么我希望当我重新运行代码时,它将恢复处理后的数据。
我的问题是,在读取配置中,如果我将偏移量设置为最早,那么在重新运行代码后,我将再次读取相同的数据,并且如果我放最新的内容,则在两次代码崩溃之前,我都不会读取数据重新运行代码。
是否可以通过Spark 2.3-结构化流(pyspark)仅读取来自kafka的未读消息,并从检查点恢复经过处理的数据?
答案 0 :(得分:0)
这取决于代码崩溃的位置。您不需要最早设置,可以将其设置为最新。您随时可以从检查点中恢复并重新处理数据Here is the semantics of checkpointing