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

    }
}
相关推荐
JZC_xiaozhong16 分钟前
BPM如何打通“请款→审批→付款”全链路?构建企业资金流转闭环
大数据·运维·数据库·数据分析·数据集成与应用集成·业务流程管理·流程监控
MarsLord16 分钟前
ElasticSearch快速入门实战(2)-相关性、多字段搜索优化(copy to)、聚合操作、自定义分词
大数据·elasticsearch·搜索引擎
升鲜宝供应链及收银系统源代码服务30 分钟前
升鲜宝生鲜配送供应链管理系统生产加工子模块的详细表设计说明
java·大数据·前端·数据库·bootstrap·供应链系统·生鲜配送
wanhengidc41 分钟前
云手机 数据信息资源共享
大数据·运维·服务器·游戏·智能手机
@土豆1 小时前
Kafka on Kubernetes 有状态应用部署文档(KRaft 模式)
分布式·kafka·kubernetes
Oscar的参数1 小时前
datagrip连接未预置数据库保姆级教程--以dm数据库为例
大数据·数据库·database
babe小鑫1 小时前
2026高职大数据技术专业学习数据分析的指南
大数据·学习·数据分析
天远云服1 小时前
PHP微服务风控架构:无缝接入天远劳动仲裁信息查询API排查用工黑产
大数据·微服务·架构·php
zhangkaixuan4562 小时前
Paimon 数据湖 + Gravitino 元数据中心:技术原理与实战指南
大数据·flink·paimon·gravitino·datalake
失败才是人生常态2 小时前
大数据基础学习
大数据·学习