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) {

    }
}
相关推荐
shushangyun_2 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
利威尔·5 小时前
常用git命令
大数据·elasticsearch·搜索引擎
一份汉堡套餐6 小时前
7月最新大模型排名
大数据·人工智能
ganbingfenxiang6 小时前
山西干冰零售
大数据·人工智能·python·零售
ZeekerLin6 小时前
AI时代,企业核心业务中台化建设思考
大数据·人工智能·企业ai转型
2601_949936967 小时前
2026会计岗位职场能力提升方法分享
大数据
咖啡屋和酒吧7 小时前
无锡干细胞领域发展纪实
大数据·人工智能
SelectDB7 小时前
阶跃星辰 Agent 可观测实践:为什么 Trace 数据底座选择 SelectDB?
大数据·数据库·agent
志起计算机编程8 小时前
Ubuntu24 单节点ClickHouse二进制包部署
大数据
TDengine (老段)8 小时前
# TDengine TMQ 最佳实践 — 可靠消费、容错与监控
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据