网站建设980元,网站建设活动广告,做企业规划的网站,营销qq购买背景
使用flink消费kafka的主题的情况我们经常遇到#xff0c;通常我们都是不需要感知数据源算子的并行度和kafka主题的并行度之间的关系的#xff0c;但是其实在kafka的主题分区数大于数据源算子的并行度时#xff0c;是有一些注意事项的#xff0c;本文就来讲解下这些注…背景
使用flink消费kafka的主题的情况我们经常遇到通常我们都是不需要感知数据源算子的并行度和kafka主题的并行度之间的关系的但是其实在kafka的主题分区数大于数据源算子的并行度时是有一些注意事项的本文就来讲解下这些注意事项
flink数据源算子并行度大于kafka主题分区数
我们这里的注意事项对于即使做到配置flink数据源算子的并行度和kafka主题一样但是有一些kafka主题没有消息发送过来的情况是一样的这里的问题可以归结于以下两点 1.有些kafka主题在某个时间点之后没有消息发送过来了 2.由于算子并行度大于kafka主题的分区数有些数据源算子任务根本不会发送水位线到下一个算子任务 解决以上两个问题的方法是
WatermarkStrategy.Tuple2Long, StringforBoundedOutOfOrderness(Duration.ofSeconds(20)).withIdleness(Duration.ofMinutes(1));通过设置算子任务的水位线策略允许空闲的方式来做到不过从源头上来说为了尽可能均匀的处理数据我们尽量设置数据源算子的并行度等于kafka的主题数