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的主题数

相关推荐
茗鹤APS和MES2 小时前
APS高级计划排程:汽车零部件厂生产排产的智慧之选
大数据·制造·精益生产制造·aps高级排程系统
蒙特卡洛的随机游走2 小时前
Spark的persist和cache
大数据·分布式·spark
蒙特卡洛的随机游走2 小时前
Spark 中 distribute by、sort by、cluster by 深度解析
大数据·分布式·spark
梦里不知身是客112 小时前
Spark中的宽窄依赖-宽窄巷子
大数据·分布式·spark
化作星辰2 小时前
java 给鉴权kafka2.7(sasl)发送消息权限异常处理
java·大数据·开发语言·kafka
过往记忆2 小时前
Kafka 作为事件流的商业模式正在消亡
分布式·kafka
user_admin_god3 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
mengml_smile3 小时前
大数据生态Sql引擎
大数据
isNotNullX6 小时前
怎么用数据仓库来进行数据治理?
大数据·数据库·数据仓库·数据治理
HitpointNetSuite7 小时前
连锁餐饮行业ERP系统如何选择?
大数据·数据库·oracle·netsuite·erp