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

    }
}
相关推荐
GIS工具-gistools20214 小时前
台湾加油站分布地图数据
大数据·gis·加油站
ctrigger5 小时前
监理工程师考试题型有哪些?4科题型+分值表
大数据·javascript·算法
静听松涛1335 小时前
在线协作跨职能泳道图制作工具 PC版
大数据·论文阅读·人工智能·信息可视化·架构
Hello.Reader5 小时前
Flink ML 二分类评估器 BinaryClassificationEvaluator AUC、PR-AUC、KS 一次搞懂
大数据·分类·flink
无人装备硬件开发爱好者5 小时前
AI 辅助程序设计的趋势与范式转移:编码、审核、测试全流程深度解析
大数据·人工智能·架构·核心竞争力重构
Hello.Reader5 小时前
Flink ML K-Means 离线聚类 + 在线增量聚类(mini-batch + decayFactor)
大数据·分类·flink
草莓熊Lotso5 小时前
技术深耕,破局成长:我的2025年度技术创作之路
大数据·开发语言·c++·人工智能·年度总结
Gofarlic_OMS5 小时前
通过MathWorks API实现许可证管理自动化
大数据·数据库·人工智能·adobe·金融·自动化·区块链
星川皆无恙5 小时前
从“盲人摸象“到“全面感知“:多模态学习的进化之路
大数据·人工智能·python·深度学习·学习
艾莉丝努力练剑6 小时前
【Linux进程(六)】程序地址空间深度实证:从内存布局验证到虚拟化理解的基石
大数据·linux·运维·服务器·人工智能·windows·centos