Spark结构化流异步批量阻塞

np8igboo  于 2023-11-21  发布在  Apache
关注(0)|答案(2)|浏览(138)

我正在使用Apache Spark结构化流从Kafka进行阅读。有时候,由于大量的写IO操作,我的微批处理的时间比指定的时间长。我想知道是否可以在第一批处理完成之前开始下一批处理,但让第二批被第一批阻塞?
我的意思是,如果第一个花了7秒,批处理设置为5秒,然后在第五秒开始第二批处理。但是,如果第二批处理完成阻止它,所以它不会写之前,它的前一批(因为将保持正确的消息顺序)。

3pmvbmvn

3pmvbmvn1#

不。下一批只有在上一批完成后才开始。我想你是指学期间隔。否则会变得一团糟。
请访问https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#triggers

hgc7kmma

hgc7kmma2#

你可以尝试在单独的线程中运行批处理。但是现在还没有保证传入的批处理资源可用。
在失败的情况下恢复作业也会出现问题(在批处理完成之前检查点流状态)。
显然,没有阻止解决这两个问题的阻断器......但出于某种原因,异步检查点只为Kafka实现

相关问题