Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1 KTable<String, Long> wordCounts = textLine

 

2    .flatMapValues(value ->Arrays.asList(value.toLowerCase().split("\\W+")))

...

            5 wordCounts.to(Serdes.String(), Serdes.Long(), "streams-wordcount-output"); 

In line 4, the aggregation already maintains state in a store called StoreName, however that store cannot be directly queried by the developer. Instead, the developer makes a copy of the data in that store into a topic called streams-wordcount-output. Subsequently, the developer might instantiate its own database after reading the data from that topic (this step is not shown above). This is shown in illustration (a): 

Proposed changes

We propose to make the Kafka Streams internal state stores visible to external queries. The internal state stores include all processor node stores used implicitly (through DSL) or explicitly (through low level Processor API). Benefits of this approach include:

...