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

    }
}

相关推荐

  1. kafka定义分区策略详解

    2024-06-06 02:30:02       43 阅读
  2. Scikit-Learn 高级教程——定义评估

    2024-06-06 02:30:02       54 阅读
  3. .NetCore——定义筛选

    2024-06-06 02:30:02       35 阅读
  4. 定义kafka客户端消费topic

    2024-06-06 02:30:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 02:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 02:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 02:30:02       82 阅读
  4. Python语言-面向对象

    2024-06-06 02:30:02       91 阅读

热门阅读

  1. Redis一键巡检脚本

    2024-06-06 02:30:02       32 阅读
  2. MySQL 连接池在 Python 中的深度探索与实践

    2024-06-06 02:30:02       32 阅读
  3. FreeRTOS学习笔记-基于stm32(10)事件标志组

    2024-06-06 02:30:02       33 阅读
  4. MySql和Oracle表分区

    2024-06-06 02:30:02       35 阅读
  5. 14.FreeRTOS 流媒体缓存 Stream Buffer

    2024-06-06 02:30:02       28 阅读
  6. tcp三次握手四次挥手

    2024-06-06 02:30:02       36 阅读
  7. 常见的Linux命令

    2024-06-06 02:30:02       34 阅读
  8. Day15—图像爬虫与简单处理

    2024-06-06 02:30:02       26 阅读