我有一个火花流,每5秒从卡夫卡读取一次。每个读取周期,它创建一个InputSize = 10条记录的队列(例如)。过了一会儿,我看到很多批次的状态"排队"。我更愿意每批处理一个大的输入大小。实现它的一种方法是将kafka读取间隔从5秒增加到更长的持续时间。但我想看看是否有任何方法可以将多个排队的批次动态组合成一个大批量。 例如:如果我的队列看起来像这样:
批次时间输入大小计划延迟(?)处理时间(?)输出操作:成功/总状态
2017/05/14 17:48:15 4条记录 - -
0/1排队
2017/05/14 17:48:10 6条记录 - -
0/1排队
2017/05/14 17:48:05 4条记录 - -
0/1排队
有没有办法将上述三个批次实际组合成一个输入大小= 14个记录的批次?
这就是我创建流的方式:
JavaPairInputDStream<String, String> messages = KafkaUtils.createDirectStream(
jssc,
String.class,
String.class,
StringDecoder.class,
StringDecoder.class,
kafkaParams,
topicsSet
);
感谢您的帮助。