你好,我在kafka会话窗口上工作,不活动时间为5分钟。当达到不活动的时间并为钥匙下垂时,我想要某种反馈。假设我有
(a,1(
记录其中'a'是关键。现在,如果我没有得到任何'a'在5分钟内删除会话的键记录。
我想在会话结束时进行一些操作,让我们说(value(*2 对于该会话。有什么办法可以使用Kafka流API
kafka流在差距时不会删除会话。相反,如果在差距时间通过并并行维护两个会话后,如果另一个具有相同键的记录到达,如果将创建新的会话。这允许处理顺序数据。甚至可能发生,如果一个序列数据陷入差距并"连接"两个会话,则两个会话会合并。
默认情况下,会议进行1天。您可以通过SessionWindows#until()
方法更改此操作。如果会话到期,它将被静静地删除。没有通知。您还需要考虑配置参数window.store.change.log.additional.retention.ms
:
默认保留设置是Windows#nactionms(( 1天。您可以通过指定streamsconfig.window_store_change_change_additional_retention_mtention_ms_config in StreamSconfig。
来覆盖此设置。
因此,您想在过去的时间中做出反应,您应该查看标点符号,使您可以根据"偶数时间进度"或墙壁锁定时间注册常规回调(某种计时器(。如果某个时间段内不更新会话,则可以做出反应,并且您认为它已"完成"。