Hi,
We are quite often using a foreign key join to join data where left side is keyed by <producer_id, product_id>
and right side is <producer_id>
. (let’s assume that product_id
can be repeated between producer_ids
).
However, foreignKeyExtractor
is only accepting value of the left side which forces us to copy producer_id
in the value of the left side. Is there a reason for this design choice?
Ideally, we would be able to custom partition the left side using the producer_id
to ensure that both sides are co-partitioned and do a foreign key join without the intermediate topics. I saw KIP-759: Unneeded repartition canceling - Apache Kafka - Apache Software Foundation and the hack in Kafka Streams: a map not repartitioning co-partitioned data - Stack Overflow
but I don’t think either would allow me to do that.
Is there a better way of solving this?