我目前正在使用kafka流来整理窗口中的相关事件。如果所有相关事件都没有到达窗口内,那么在Kafka流中是否有办法可以处理已过期的事件。这将有助于处理/通知下游应用程序所有相关事件都没有到达进行整理。感谢您的回复
以下是示例
实施例-1:
- GroupID:g1
- 活动抵达:E1,10am; E2 10:01 am和E3 10:02 am
- 窗口:会话窗口的不活动持续时间为5分钟
- 结果:所有事件都已成功整理。
例2:
- 活动抵达:E1,10am; E2 10:01 am,E3不到
- 窗口:会话窗口的不活动持续时间为5分钟
- 结果:触发操作或通过侦听器获取部分通知
上午10:06对E1和E2窗口到期时的整理
答案 0 :(得分:1)
Kafka Streams中的Windows“不会过期”,但会保持打开以允许处理迟到的数据。
比较How to send final kafka-streams aggregation result of a time windowed KTable?
无法注册任何回叫,
答案 1 :(得分:0)
还没有尝试过,但是好像窗口的最终结果可以做到 https://kafka.apache.org/24/documentation/streams/developer-guide/dsl-api.html#window-final-results
该想法是检查窗口关闭时是否所有事件都已到达,如果不是这种情况,则触发一些操作。