以下两种获取KTable的方法有什么区别吗?
备选办法1:
var kstream = streamsBuilder.stream(topicName, Consumed.with(...));
var mappedKTable = kstream.toTable(...);
备选方案二:
var nativeKTable = streamsBuilder.toTable(topicName, Consumed.with(...));
以下两种获取KTable的方法有什么区别吗?
备选办法1:
var kstream = streamsBuilder.stream(topicName, Consumed.with(...));
var mappedKTable = kstream.toTable(...);
备选方案二:
var nativeKTable = streamsBuilder.toTable(topicName, Consumed.with(...));
1条答案
按热度按时间k5ifujac1#
当你从一个主题中读取时,你是以流的形式读取它的。如果你只想得到每个键的最新值,所以你需要它作为一个表,你可以使用
.toTable()
。这相当于阅读一个表。如果您读取一个流,那么您可能会预先执行一个聚合,该聚合本身会转换为KTable。
假设您有一个包含以下内容的主题
将其作为KTable读取将为您提供:
如果您以KStream的形式读取并执行总和聚合,则会得到以下Ktable