我正在努力spark 1.5.2
.我理解批处理间隔是什么,基本上是处理部分应该从接收器接收的数据开始的间隔.但我不明白是什么spark.streaming.receiver.maxRate
.从一些研究来看,它显然是一个重要的参数.
让我们考虑一个场景.我的批处理间隔设置为60秒.并spark.streaming.receiver.maxRate
设置为60*1000.如果由于某些临时负载而在60秒内获得60*2000记录该怎么办?会发生什么?是否会删除额外的60*1000记录?或者在批处理间隔期间处理会发生两次?
属性spark.streaming.receiver.maxRate
适用于每秒的记录数.
的接收机最大速率,这意味着批量间隔甚至适用于前-流中接收数据时被应用.换句话说,你将永远不会获得比每秒更多的记录spark.streaming.receiver.maxRate
.附加记录将"保留"在流中(例如Kafka,网络缓冲区......)并在下一批中进行处理.