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

问题描述 投票:0回答:1

对于每个spark.streaming.blockInterval(例如1分钟),接收者将监听流源以获取数据。假设当前的微型批处理花费了不自然的长时间(故意这样做,例如20分钟)。在此微批量处理期间,接收方是否仍会收听流媒体源并将其存储在Spark内存中?

当前管道通过使用Spark结构化流在Azure Databricks中运行。谁能帮我理解这一点!

apache-spark spark-streaming spark-structured-streaming
1个回答
0
投票

在上述情况下,Spark将继续使用/提取来自Kafka的数据,并且微型批次将继续堆积,并最终导致内存不足(OOM)问题。为了避免出现这种情况,请启用背压设置,

spark.streaming.backpressure.enabled = true

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

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.