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

    }
}
相关推荐
武子康13 小时前
大数据-126 - Flink一文搞懂有状态计算:State Backend 工作原理与性能差异详解 核心原理与作用
大数据·后端·flink
YangYang9YangYan13 小时前
金融分析师核心能力构建:从数据解读到战略洞察
大数据·信息可视化·金融·数据分析
BEOL贝尔科技14 小时前
不稳定的冰箱如何做权限管理?冰箱锁加入远程管理功能后生物保存工作发生了哪些变化?
大数据·人工智能
一个java开发14 小时前
spark热点key导致的数据倾斜复现和加盐处理
大数据·spark
IT研究室14 小时前
大数据毕业设计选题推荐-基于大数据的商店购物趋势分析与可视化系统-大数据-Spark-Hadoop-Bigdata
大数据·spark·课程设计
好奇的菜鸟14 小时前
理解 Git 命令 `git reset --hard origin/pre`:版本回退的“利刃”与使用禁忌
大数据·git
今天头发还在吗14 小时前
解决 Git 推送冲突:使用 Rebase 整合远程更改
大数据·git·elasticsearch
zskj_qcxjqr1 天前
七彩喜艾灸机器人:当千年中医智慧遇上现代科技
大数据·人工智能·科技·机器人
洛克大航海1 天前
Ubuntu安装Hbase
大数据·linux·数据库·ubuntu·hbase
笨手笨脚の1 天前
Kafka-1 初识消息引擎系统
分布式·kafka·消息队列·消息引擎系统