根据Kafka Direct API,输入记录的数量计算为
maxInputSize = maxRatePerPartition * #numOfPartitions# * #BATCH_DURATION_SECONDS#
我真的不明白为什么输入大小是这样确定的。假设我的作业在5分钟内处理了100个文件。
如果我设置maxRatePerPartition = 1,我的主题中的numOfPartitions是6,批处理持续时间应该是什么,因为如果我将批处理持续时间秒设置为300,我将获取1800个文件作为输入,并且将有一个长队列等待待处理和1800个文件将花费大约半小时来处理内存问题和其他约束。
我如何解决这个问题。我应该能够控制输入中的记录。我可以在5分钟内处理10条记录,我应该只能加载这些记录。