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

    }
}
相关推荐
Dr.AE4 分钟前
AI+政务 行业分析报告
大数据·人工智能·政务
Howie Zphile21 分钟前
# 组织增熵与全面预算管理的持续优化
java·大数据·数据库
Dr.AE33 分钟前
AI+金融 行业分析报告
大数据·人工智能·金融·产品经理
Elastic 中国社区官方博客1 小时前
使用 Elasticsearch 和神经模型为复杂语言提供更好的文本分析
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
AI开发架构师1 小时前
大数据领域Eureka的服务注册中心搭建
大数据·ai·云原生·eureka
百锦再1 小时前
HashMap、Hashtable、TreeMap异同深度详解
jvm·spring boot·struts·spring cloud·缓存·kafka·tomcat
geneculture2 小时前
融智学唯文主义视域49个主义大跨界重构
大数据·人工智能·重构·信息科学·融智学的重要应用·融智时代(杂志)
lisw052 小时前
大数据审计学概述!
大数据·人工智能·科技
鸿乃江边鸟2 小时前
Spark Datafusion Comet 向量化Rust Native--Native算子ScanExec以及涉及到的Selection Vectors
大数据·rust·spark·arrow