什么是spark.streaming.receiver.maxRate?它如何与批处理间隔一起使用

时间:2015-12-02 13:53:05

标签: apache-spark spark-streaming

我正在使用spark 1.5.2。我理解批处理间隔是什么,基本上是处理部分应该从接收器接收的数据开始的间隔。 但我不明白什么是spark.streaming.receiver.maxRate。从一些研究来看,它显然是一个重要的参数。

让我们考虑一个场景。我的批处理间隔设置为60秒。 spark.streaming.receiver.maxRate设置为60 * 1000。如果由于某些临时负载而在60年代获得60 * 2000记录该怎么办?会发生什么?是否会删除额外的60 * 1000记录?或者在批处理间隔期间处理是否会发生两次?

1 个答案:

答案 0 :(得分:5)

属性spark.streaming.receiver.maxRate适用于每秒的记录数。

从流中接收数据时应用接收器最大速率 - 这意味着即使在批处理间隔应用之前也是如此。换句话说,您将永远不会获得比spark.streaming.receiver.maxRate中设置的每秒更多的记录。附加记录将“保留”在流中(例如Kafka,网络缓冲区......)并在下一批处理中进行处理。