KafkaStreams 在使用窗口时处理延迟事件
KafkaStreams handling late events when using windowing
问题:
如果事件在 window 关闭后到达,那么我们如何将其重定向到另一个主题来处理更正?
上下文:
- 我们使用翻滚windows
- 我们使用事件源创建时间(event-time)来定义windows
谢谢
目前,没有 API 可以做到这一点。迟到的事件将被删除,您无法轻易获得它们。
你可以做的是,在 window 之前有一个上游运算符(如 transform()
),将记录时间戳与当前 "stream time" 进行比较(你需要在操作员中手动跟踪 "stream time")——这应该可以帮助您检测下游 window 是否会延迟删除记录并相应地对其做出反应(例如在之后使用 branch()
transform()
之前 groupByKey().windonwedBy()
.
问题: 如果事件在 window 关闭后到达,那么我们如何将其重定向到另一个主题来处理更正?
上下文:
- 我们使用翻滚windows
- 我们使用事件源创建时间(event-time)来定义windows
谢谢
目前,没有 API 可以做到这一点。迟到的事件将被删除,您无法轻易获得它们。
你可以做的是,在 window 之前有一个上游运算符(如 transform()
),将记录时间戳与当前 "stream time" 进行比较(你需要在操作员中手动跟踪 "stream time")——这应该可以帮助您检测下游 window 是否会延迟删除记录并相应地对其做出反应(例如在之后使用 branch()
transform()
之前 groupByKey().windonwedBy()
.