Hi,可以看下KafkaTopicPartitionAssigner类的assign方式
是根据Topic名称哈希之后对并行度取余,加上分区值再次对并行度取余
最终的结果分配是存在不均匀



------------------------------------------------------------------
发件人:bradyMk <zhbm...@126.com>
发送时间:2020年12月21日(星期一) 17:40
收件人:user-zh <user-zh@flink.apache.org>
主 题:请教一个flink消费多kafka topic如何进行数据分配的问题

Hi~想请教一下大家:

现在我用flink消费5个不同的kafka topic,每个topic都有12个分区,所以我设置了60个并行度;

env.setParallelism(60)

我认为程序设置的并行度是和topic的总分区一一对应的;

但是,程序运行后,我发现只有14个task有从topic消费到数据,其余消费数据量都为0,且有几个是每秒几千条,有几个是每秒几百条。所以现在很疑惑,flink消费多kafka
topic到底是如何进行数据分配的呢?



-----
Best Wishes
--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复