Flink如何基于事件时间消费分区数比算子并行度大的kafka主题

背景

使用flink消费kafka的主题的情况我们经常遇到,通常我们都是不需要感知数据源算子的并行度和kafka主题的并行度之间的关系的,但是其实在kafka的主题分区数大于数据源算子的并行度时,是有一些注意事项的,本文就来讲解下这些注意事项

flink数据源算子并行度大于kafka主题分区数

我们这里的注意事项对于即使做到配置flink数据源算子的并行度和kafka主题一样,但是有一些kafka主题没有消息发送过来的情况是一样的,这里的问题可以归结于以下两点:

1.有些kafka主题在某个时间点之后没有消息发送过来了

2.由于算子并行度大于kafka主题的分区数,有些数据源算子任务根本不会发送水位线到下一个算子任务

解决以上两个问题的方法是:

java 复制代码
WatermarkStrategy
        .<Tuple2<Long, String>>forBoundedOutOfOrderness(Duration.ofSeconds(20))
        .withIdleness(Duration.ofMinutes(1));

通过设置算子任务的水位线策略允许空闲的方式来做到,不过从源头上来说,为了尽可能均匀的处理数据,我们尽量设置数据源算子的并行度等于kafka的主题数

相关推荐
源码技术栈5 小时前
SaaS基于云计算、大数据的Java云HIS平台信息化系统源码
java·大数据·云计算·云his·his系统·云医院·区域his
Elastic 中国社区官方博客5 小时前
Elasticsearch 索引副本数
大数据·数据库·elasticsearch·搜索引擎·全文检索
Eternity......5 小时前
SparkSQL基本操作
大数据·spark
268572595 小时前
Elasticsearch 初步认识
大数据·elasticsearch·搜索引擎·全文检索·es
python算法(魔法师版)5 小时前
网络编程入门(一)
大数据·网络·网络协议·计算机网络
Paraverse_徐志斌6 小时前
基于 Zookeeper 部署 Kafka 集群
ubuntu·zookeeper·kafka·消息队列
caihuayuan57 小时前
生产模式下react项目报错minified react error #130的问题
java·大数据·spring boot·后端·课程设计
兔子坨坨8 小时前
详细了解HDFS
大数据·hadoop·hdfs·big data
夏旭泽8 小时前
系统架构-大数据架构设计
大数据·系统架构
Eternity......9 小时前
Spark,连接MySQL数据库,添加数据,读取数据
大数据·spark