You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by bradyMk <zh...@126.com> on 2020/12/21 09:40:03 UTC

请教一个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/

回复:请教一个flink消费多kafka topic如何进行数据分配的问题

Posted by Shuai Xia <jk...@dingtalk.com.INVALID>.
Hi,可以看下KafkaTopicPartitionAssigner类的assign方式
是根据Topic名称哈希之后对并行度取余,加上分区值再次对并行度取余
最终的结果分配是存在不均匀



------------------------------------------------------------------
发件人:bradyMk <zh...@126.com>
发送时间:2020年12月21日(星期一) 17:40
收件人:user-zh <us...@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/