Description
In the lower-level Processor API we allow users to pass in a customizable StreamPartitioner when creating a new sink processor node to the topology:
builder.addSink(String name, String topic, StreamPartitioner partitioner, String... parentNames));
This StreamPartitioner allows users to specify any partitioning schemes based on record values instead of using the default behavior of hashing on the message key; but it is not exposed in the higher-level Streams DSL.
We can add this parameter to the Streams DSL as well:
KStream#to(String topic, StreamPartitioner partitioner); KTable#to(String topic, StreamPartitioner partitioner);