是否可以根据表字段值向特定分区发送消息?例如,我有一个名为customer的列,它有4个值,比如customer1、customer2、customer3、customer4。我想把它们发送到相应的分区。
在debezium配置中有可能实现这一点吗?
默认情况下,Debezium会根据记录键(例如数据库行id(将Kafka记录写入分区;客户1";转到";分区1";,或者两个客户最终会在同一个分区中(例如,您的客户可能比分区多(
要将数据显式映射到编号分区,您需要实现自己的Partitioner
Java接口,并将其添加到Connect worker类路径中,然后在Debezium配置中设置producer.override.partitioner.class
。
或者,正如预期的那样,您可以让生产者根据记录的密钥进行分区。