我们在我们的主题上排队了一些历史数据,我们不想一次处理所有这些数据,因为这样做比较困难(如果失败,则必须重新开始!)。
此外,知道如何控制批处理大小对于调整作业非常有帮助。
使用DStreams
时,尽可能精确地控制批次大小的方法是Limit Kafka batches size when using Spark Streaming
相同的方法,即设置maxRatePerPartition
然后调优batchDuration
非常麻烦,但与DStream
一起使用,对结构化流根本不起作用。
理想情况下,我想了解类似maxBatchSize
和minBatchSize
的配置,在这里我可以简单地设置所需的记录数。
答案 0 :(得分:5)
此配置选项maxOffsetsPerTrigger
:
每个触发间隔处理的最大偏移数的速率限制。指定的偏移总数将按比例分配给不同卷的topicPartitions。
注意,如果您有一个包含开始和结束偏移量的检查点目录,则应用程序将处理目录中第一批的偏移量,从而忽略此配置。 (下一批将尊重它。)