当前位置: 首页 > news >正文

Kafka自定义分区器编写教程

1.创建java类MyPartitioner并实现Partitioner接口

点击灯泡选择实现方法,导入需要实现的抽象方法

2.实现方法

3.自定义分区器的使用

在自定义生产者消息发送时,属性配置上加入自定义分区器

properties.put(ProducerConfig.PARTITIONER_CLASS_CONFIG,"com.ljr.kafka.producer.MyPartitioner");

4.运行

可以看到数据按照分区器的设定进入指定的分区

5.完整代码
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) {

    }
}

相关文章:

  • 20240529每日前端--------vue数组对象包含数组,判断子数组是否有重复对象
  • 计算机网络- 特定服务类型(Type of Service, TOS) 服务质量(Quality of Service, QoS)
  • express处理get请求和post请求
  • K8s service 进阶
  • Windows驱动开发系列文章一
  • MySQL的安全性
  • 《TCP/IP网络编程》(第十二章)I/O复用(2)
  • 【微机原理及接口技术】可编程计数器/定时器8253
  • 继电器的选型和英应用
  • 解决文件传输难题:如何绕过Gitee的100MB上传限制
  • 基于springboot+vue的社区医院管理服务系统
  • 蓝桥杯-AB路线(详细原创)
  • C#多线程同步lock、Mutex
  • 深入分析 Android Activity (一)
  • CSS变量 -- var() 使用教程
  • C# 枚举高阶
  • docker容器中解决中文乱码
  • markdown语法保存
  • 使用C语言实现学生信息管理系统
  • PS:电子书App自动截图后合成一个PDF文档
  • 当隐身13年的北小京决定公开身份 ,专业戏剧评论依然稀缺
  • 王文涛会见德国汽车工业协会主席穆勒
  • 屋顶上的阳光与火光:战争如何改变了加沙的能源格局
  • 张家界乒乓球公开赛设干部职级门槛引关注,回应:仅限嘉宾组
  • 文庙印象:一周城市生活
  • 记录发生真相,南沙岛礁生态调查纪实片《归巢》发布