我有以下要求:
- 从发布子主题中读取事件
- 采取持续时间 30 分钟和周期 1 分钟的窗口
- 在该窗口中,如果给定 id 的 3 个事件都匹配某个谓词,那么我需要在不同的 pub 子主题中引发事件
- 该事件应在第三个事件进入分组 ID 时立即引发,因为这是用于检测欺诈行为。在一个窗格中,有许多 id 有 3 个与我的谓词匹配的事件,因此我可能需要在每个窗格中发出多个事件
我能够编写一个使用 PCollection 的函数,它会根据我的业务逻辑进行必要的分组、逻辑和过滤并发出事件。
问题:
- 由于重叠的滑动窗口,输出 PCollection 包含重复项。我知道这是滑动窗口的预期行为,但我怎样才能避免这种情况,同时保持在同一个数据流管道中。我意识到我可以在外部系统中进行重复数据删除,但这只会增加我的系统的复杂性。
- 我还需要编写某种触发器,每次在窗口中达到我的条件时都会触发
- 数据流是否适合这种类型的实时检测场景
非常感谢