Kafka自定义分区器编写教程

1.创建java类MyPartitioner并实现Partitioner接口

点击灯泡选择实现方法,导入需要实现的抽象方法

2.实现方法

3.自定义分区器的使用

在自定义生产者消息发送时,属性配置上加入自定义分区器

properties.put(ProducerConfig.PARTITIONER_CLASS_CONFIG,"com.ljr.kafka.producer.MyPartitioner");

4.运行

可以看到数据按照分区器的设定进入指定的分区

5.完整代码
java 复制代码
package com.ljr.kafka.producer;

import org.apache.kafka.clients.producer.Partitioner;
import org.apache.kafka.common.Cluster;

import java.util.Map;

public class MyPartitioner implements Partitioner {

    @Override
    public int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) {
        
		//获取数据
        String data = value.toString();
        
		//定义分区
        int partition;
        
        if(data.contains("kafka")){
            partition = 0;
        }else{
            partition = 1;
        }
        
        return partition;
    }

    @Override
    public void close() {

    }

    @Override
    public void configure(Map<String, ?> configs) {

    }
}
相关推荐
阿里云大数据AI技术2 小时前
云栖实录 | 洋钱罐基于 EMR Serverless 产品构建全球一体化数字金融平台
大数据·运维
冰芒芒2 小时前
Kafka - 4 Kafka的副本同步机制
分布式·kafka
ZVAyIVqt0UFji4 小时前
Kafka 消费积压影响写入?试试 Pulsar
分布式·kafka
跟着珅聪学java4 小时前
Kafka 报错 No readable meta.properties files found解决方案
分布式·kafka
q***84575 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
U***49835 小时前
SpringBoot集成Kafka,高吞吐消息处理
spring boot·后端·kafka
正在走向自律5 小时前
大数据时代时序数据库选型指南:从技术架构到实战案例
大数据·架构·时序数据库
攻城狮7号5 小时前
万物互联时代,如何选择合适的时序数据库?
大数据·物联网·时序数据库·apache iotdb·sql mcp
梦里不知身是客116 小时前
kafka 消费者之分区分配策略
分布式·kafka