我们部署了一个Spark结构化的流程序,该程序从kafka读取数据并将一些结果放入我们的数据库中。该过程包括三个步骤。 1)从kafka读取2)执行一些处理/更新状态,并3)将指标(数据)写入each minute
的数据库中。
spark的结构化流如何知道何时停止从kafka读取并进入处理数据的下一个级别?
当前,对于每批数据,我们都看到一个非常奇怪的行为:读取kafka大约需要2分钟,处理数据需要30秒,最后一步需要3秒,但是将三个指标放入数据库(代表3分钟的数据)。所有这些都在一个批次中,但是正如我所看到的,可以将其分为三个不同的批次。我找不到任何说明该行为的文档或代码。