1,我们先实现的是序列化类
public class CustomKeyedSerializationSchema implements KeyedSerializationSchema<TopicAndValueDemo> { @Override public byte[] serializeKey(TopicAndValueDemo topicAndValueDemo) { String pk = topicAndValueDemo.getPk(); // return new byte[0]; System.out.println("主键pk = " + pk); return (pk).getBytes(); } @Override public byte[] serializeValue(TopicAndValueDemo topicAndValueDemo) { String values = topicAndValueDemo.getValues(); // return new byte[0]; return values.getBytes(); } @Override public String getTargetTopic(TopicAndValueDemo topicAndValueDemo) { return topicAndValueDemo.getTopic(); }
2,然后实现自定义分区器
extends FlinkKafkaPartitioner<TopicAndValueDemo>