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

    }
}
相关推荐
jiayong2318 分钟前
Elasticsearch 完全指南:原理、优势与应用场景
大数据·elasticsearch·搜索引擎
雪兽软件38 分钟前
2025 年 15 大大数据技术:从 Hadoop 到 BigQuery 及其他
大数据·大数据技术
TDengine (老段)1 小时前
TDengine 时间函数 WEEK 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
xieyan08112 小时前
选股中的财务指标运用_ROE_PE_PB...
大数据·人工智能
颜子鱼4 小时前
git基础
大数据·git·elasticsearch
乌恩大侠6 小时前
AI-RAN 在 Spark上部署 Sionna-RK
大数据·分布式·spark
G皮T8 小时前
【ELasticsearch】索引字段设置 “index”: false 的作用
大数据·elasticsearch·搜索引擎·全文检索·索引·index·检索
lhyzws8 小时前
CENTOS上的网络安全工具(三十二) Portainer Kafka-Clickhouse部署(1)
linux·kafka·centos
程序员皮皮林10 小时前
Redis:大数据中如何抗住2000W的QPS
大数据·数据库·redis
武子康11 小时前
大数据-169 Elasticsearch 入门到可用:索引/文档 CRUD 与搜索最小示例
大数据·后端·elasticsearch