数据写入kafka的分区策略
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据写入kafka的分区策略相关的知识,希望对你有一定的参考价值。
参考技术A 众所周知,kafka有分区的概念,生产者写入数据到kafka,涉及到数据到底写到哪个分区?kafka api提供了默认的partitioner函数,具体策略如下:
1、如果生产者写入数据时,指定了具体分区,则使用该分区
2、如果生产者没有指定分区,但是提供了key,partitioner函数会对该key取hash再对topic数量取模以确定分区
3、如果生产者既没有指定分区,也没有提供key,则采用round-robin的方式选取分区
项目中用到filebeat采集数据到kafka,如果filebeat配置文件中配置了round-robin,下游在消费数据时,打印record.key可以发现key=null,每条数据到分区也不一样
以上是关于数据写入kafka的分区策略的主要内容,如果未能解决你的问题,请参考以下文章
Flink实战系列Flink SQL 写入 kafka 自定义分区策略
kakfa从入门到放弃: 分区和副本机制高级与低级API kafka-eagle原理数据清理限速