So you want to use the kafka partitioner directly?

How about an adapter?

public class KafkaPartitionerWrapper<T> extends KafkaPartitioner<T> implements 
Serializable {
   private final kafka.producer.Partitionerpartitioner; public 
KafkaPartitionerWrapper(kafka.producer.Partitioner partitioner) {
      this.partitioner = partitioner; }

   @Override public int partition(T record, byte[] key, byte[] value, String 
targetTopic, int[] partitions) {
      // maybe pass Arrays.hashCode(key) instead
      return partitioner.partition(key, partitions.length); }
}

On 25.10.2017 09:58, kla wrote:
Exactly, I did like this, the only thing is that I am using 1.2.0 version of
Flink and in this version the class name is KafkaPartitioner.

But the problem is that I would not like to "fork" the Kafka's source code.
(Please check my first comment)

Thanks,
Konstantin



--
Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/


Reply via email to