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

相关推荐
跨境卫士-小汪几秒前
TikTok Shop电商洗牌期:跳出商品驱动,内容制胜抢占盈利高地
大数据·产品运营·跨境电商·防关联
yumgpkpm2 分钟前
Cloudera CDH5|CDH6|CDP7.1.7|CDP7.3|CMP 7.3的产品优势分析(在华为鲲鹏 ARM 麒麟KylinOS、统信UOS)
大数据·人工智能·hadoop·深度学习·spark·transformer·cloudera
是一个Bug3 分钟前
领域驱动设计(Domain-Driven Design,DDD)
大数据
Hello.Reader11 分钟前
Flink SQL 新特性Materialized Table 一文讲透(数据新鲜度驱动的自动刷新管道)
java·sql·flink
日志易11 分钟前
日志易5.5正式发布,强化可视化运维与企业级安全,赋能智能日志管理
大数据·运维·安全
我认不到你15 分钟前
动态线程池+kafka自定义拒绝策略,做到任务不丢失
java·spring boot·spring cloud·kafka
MARSERERER17 分钟前
ElasticSearch如何使用bulk load
大数据·elasticsearch
yumgpkpm18 分钟前
Hadoop如何用Flink支持实时数据分析需求
大数据·hadoop·分布式·hdfs·flink·kafka·cloudera
百胜软件@百胜软件19 分钟前
CTO Wow Club 上海研讨会成功举办,百胜软件深度分享零售AI智能体实战之道
大数据·人工智能·零售
希艾席帝恩22 分钟前
数字孪生正在悄然改变交通管理方式
大数据·人工智能·数字孪生·数据可视化·数字化转型