Spark流式接收器是否在当前微批处理期间继续为每个块间隔提取数据



对于每个spark.streaming.blockInterval(例如,1分钟(,接收器都会侦听流式数据源。假设当前的微批处理需要一段不自然的长时间才能完成(根据意图,比如20分钟(。在这个微批处理过程中,接收器还会监听流源并将其存储在Spark内存中吗?

当前管道通过使用Spark结构化流在Azure Databricks中运行。有人能帮我理解吗!

在上述情况下,Spark将继续消耗/从Kafka中提取数据,微批处理将继续堆积,最终导致内存不足(OOM(问题。为了避免启用背压设置的情况,

spark.streaming.backpressure.enabled=真

https://spark.apache.org/docs/latest/streaming-programming-guide.html

有关Spark背压功能的更多详细信息

最新更新