1、从消费端看, 如果source的并行度大于kafka的分区,会导致多余的并行度消费不了数据,进而影响checkpoint,flink做checkpoint失败,所以一定不能大于分区数。

2 、从消费端看, 如果source的并行度小于kafka的分区,会导致一个并行度消费多个kafka分区数据,如果数据量大的时候,吞吐率上不去。

3、sink到kafka时,如果并行度大于kafka的分区数时,则会轮训把数据插入到kafka分区中,数据不会丢失。

      

4、sink到kafka时,如果并行度小于kafka的分区数时,也会轮训把数据插入到kafka分区中,数据不会丢失。 因为如果指定key的情况下,则producer会按照hash规则,把数据hash到相应分区中,

生产者数据写入规则( https://blog.csdn.net/zh2475855601/article/details/115346569).

5、也就是说flink sink的时候对kafka并行度影响不大,不会存在数据丢失或者分区没有写入的情况。

 

6、flink 任务 test_groupy_ttl_wpp

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐