首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kafka流会话窗口

kafka流会话窗口
EN

Stack Overflow用户
提问于 2018-02-28 07:37:17
回答 1查看 852关注 0票数 1

你好,我在卡夫卡会议窗口工作,不活动时间5分钟。我想要某种反馈时,不活动的时间是达到,会议是下垂的关键。让我们假设我

(A,1)

记录'A'是关键的地方。现在,如果我在5分钟内没有得到任何'A'密钥记录,则会话将被删除。

我想在会话结束时做一些操作--假设会话的(value)*2。有什么办法可以使用实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 02:19:10

卡夫卡流在间隔时间过去后不会丢弃一个会话。相反,if将创建一个新会话,如果另一个具有相同键的记录在间隙时间过去后到达,并并行地维护两个会话。这允许处理无序数据.这甚至可能发生,两个会话被合并,如果一个无序的数据落入一个空白,并“连接”两个会话彼此。

默认情况下,会话维护时间为1天。您可以通过SessionWindows#until()方法来改变这一点。如果会话到期,它将被静默删除。没有任何通知。您还需要考虑配置参数window.store.change.log.additional.retention.ms

默认的保留设置是Windows#maintainMs() +1天。可以通过在StreamsConfig.WINDOW_STORE_CHANGE_LOG_ADDITIONAL_RETENTION_MS_CONFIG中指定StreamsConfig来覆盖此设置。

因此,如果时间流逝,您想要做出反应,您应该查看标点符号,这些标点符号允许您根据“偶数时间进度”或挂钟时间注册常规回调(某种类型的计时器)。如果某个会话在一段时间内没有更新,并且您认为它已经“完成”,那么您可以对此做出反应。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49024234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档