hi,
应该是可以继承 FlinkKafkaPartitioner 接口,自己重写 partition 方法实现 hash(key) 的功能
eg:
public class MyCustomPartitioner extends FlinkKafkaPartitioner<Map<String,
Object>> {
@Override
public int partition(Map<String, Object> map, byte[] key, byte[] value,
String targetTopic, int[] partitions) {
String key = map.get(xxx).toString();
return partitions[Math.abs(key.hashCode() % partitions.length)];
}
}
Best!
zhisheng
Jark Wu <
[hidden email]> 于2020年10月29日周四 下午2:33写道:
> 多谢创建 issue。
>
> side comment: 1.12 中 kafka connector 将支持声明 message key 部分,当声明了 message key
> 部分,就自动会按照 key 来做 hash 到某个固定分区。
>
> Best,
> Jark
>
> On Thu, 29 Oct 2020 at 14:27, Dream-底限 <
[hidden email]> wrote:
>
> > hi、
> > 好的,
https://issues.apache.org/jira/browse/FLINK-19871> >
> > Jark Wu <
[hidden email]> 于2020年10月29日周四 下午12:06写道:
> >
> > > 目前还不支持,可以去社区开个 issue,看能不能赶上1.12
> > >
> > > Best,
> > > Jark
> > >
> > >
> > > On Thu, 29 Oct 2020 at 11:26, Dream-底限 <
[hidden email]> wrote:
> > >
> > > > hi、
> > > > 我看了一下官方提供的kafka sink,对于数据发送方式为两种:对于第二种情况,有办法保证对于指定主键的变化过程发送到同一个kafka
> > > > partiiton吗,或者说社区对于原生hash(key)到kafka分区映射的方式有支持计划吗
> > > >
> > > > - fixed:每个Flink分区最多只能有一个Kafka分区。
> > > > - round-robin:Flink分区循环分配给Kafka分区。
> > > >
> > >
> >
>