Ok, makes sense. We'll be putting out a KIP on updating the KTable semantics 
and one of the things we'll add is the ability to materialize any KTable 
without explicitely needing to call through. So you could do a .mapValues, 
you'll get a KTable back and then we'll probably have a .materialize API to 
allow you to query that. Stay tuned.

Thanks
Eno


> On 16 Dec 2016, at 18:44, Mikael Högqvist <hoegqv...@gmail.com> wrote:
> 
> Hi Eno,
> 
> in this example it doesn't make much sense, but I could add a .mapValues
> that transforms the values and the use .through to materialize a table with
> the updated values.
> 
> It is possible to the access the new table as a KeyValueStore also, but it
> is much less convenient and I also expected that if I have a window store
> it would still be a window store after transformation/through.
> 
> Thanks,
> Mikael
> 
> On Fri, Dec 16, 2016 at 6:20 PM Eno Thereska <eno.there...@gmail.com> wrote:
> 
>> Hi Mikael,
>> 
>> Currently that is not possible. Could you elaborate why you'd need that
>> since you can query from tableOne.
>> 
>> Thanks
>> Eno
>>> On 16 Dec 2016, at 10:45, Mikael Högqvist <hoegqv...@gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I have a small example topology that count words per minute (scala):
>>> 
>>>   words
>>>     .map { (key, word) =>
>>>       new KeyValue(word, Long.box(1L))
>>>     }
>>>     .groupByKey(Serdes.String, Serdes.Long)
>>>     .count(TimeWindows.of(5 * 60 * 1000L), tableOne)
>>>     .through(new WindowedSerde, Serdes.Long, s"$appId-count-topic",
>>> tableTwo)
>>> 
>>> The first table, tableOne, is a WindowStore and can be accessed using
>> fetch
>>> on the key and time range. After using .through to forward the data to
>>> another topic and table, tableTwo becomes a KeyValueStore. Is it possible
>>> to keep tableTwo as a WindowStore also?
>>> 
>>> Best,
>>> Mikael
>> 
>> 

Reply via email to