假设我有一批员工 empId
,其中还包括 departmentId
. 我想按部门汇总。所以我做了一个 selectKey(
Map器获取部门ID )
,那么 groupByKey()
(或者我可以做一个 groupBy(...)
,我猜),然后,说,count()。到底发生了什么?我推测它会进行“重新划分”。我认为它会写入一个“内部”主题,我只是一个带有派生名称的常规主题,是自动创建的。也就是说,由流的所有示例共享,而不仅仅是一个示例(即不是本地示例)。所以聚合是跨所有新密钥的,而不仅仅是来自源流示例的消息(我认为)。对吗?
我还没有找到关于重新划分的全面描述。有人能给我推荐一篇关于这个的好文章吗?
1条答案
按热度按时间wljmcqd81#
你所描述的正是正在发生的事情。
重新分区步骤与
through()
(自动插入到处理拓扑中)什么是to("topic")
加builder.stream("topic")
.这篇博文也对此进行了说明:https://www.confluent.io/blog/data-reprocessing-with-kafka-streams-resetting-a-streams-application/