Elias, yes, that is correct.
I also want to explain why: One can always convert a KTable to a KStream (note: this is the opposite direction of what you want to do) because one only needs to iterate through the table to generate the stream. To convert a KStream into a KTable (what you want to do) the user must tell Kafka how multiple values of the same key should be processed to end up with just a single value for that key (a KTable has only a single value for each key). This step -- the semantics desired by the user of how to "squash" multiple values into a single value -- is something that Kafka cannot second-guess. Some users want to compute a sum and thus add all the values for a key into a final "sum" value; others may want to compute MAX(), and so on. This explains why there's no KStream#toTable() equivalent to KTable#toStream(). Hope this helps! Michael On Sat, Oct 8, 2016 at 5:03 AM, Elias Levy <fearsome.lucid...@gmail.com> wrote: > I am correct in assuming there is no way to convert a KStream into a > KTable, similar to KTable.toStream() but in the reverse direction, other > than using KSteam.reduceByKey and a Reducer or looping back through Kafka > and using KStreamBuilder.table? >