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

    }
}
相关推荐
yachuan_qiao4 小时前
专业的建筑设备监控管理系统选哪家
大数据·运维·python
TDengine (老段)4 小时前
TDengine 字符串函数 LIKE_IN_SET 用户手册
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
科技测评-阿博5 小时前
从经验到算法:智能获客系统如何重构ToB销售效率
大数据
lisw055 小时前
计算生物学的学科体系!
大数据·人工智能·机器学习
SeaTunnel5 小时前
结项报告完整版:Apache SeaTunnel 支持 Flink 引擎 Schema Evolution 功能
java·大数据·flink·开源·seatunnel
神的孩子都在歌唱6 小时前
es开源小工具 -- 分析器功能
大数据·elasticsearch·开源
谅望者7 小时前
数据分析笔记02:数值方法
大数据·数据库·笔记·数据挖掘·数据分析
DolphinScheduler社区7 小时前
Apache DolphinScheduler 新增 gRPC 任务插件 | 开源之夏成果总结
大数据·开源·apache·海豚调度
YangYang9YangYan7 小时前
高职单招与统招比较及职业发展指南
大数据·人工智能·数据分析