我有两个无界流,每个都有一个2分钟的窗口和AfterWatermark.pastEndOfWindow()触发器。在检查外部联接的结果后,窗口似乎没有对齐。Beam对齐连接左侧的数据,但在4分钟的重叠间隔内获取右侧的数据:
Stream A |--| (observed range after join from window 1)
|--| (observed range after join from window 2)
|--| (observed range after join from window 3)
Stream B |----| (observed range after join from window 1)
|----| (observed range after join from window 2)
|----| (observed range after join from window 3)例如,窗口1的事件来自A流的0-2时间段(如预期的),B流的事件来自0-4时间段,而在窗口2中,我得到了A流时间段2-4和B流的事件,时间周期为2-6。
如何确定数据在两个固定窗口的连接中哪个窗口不对齐?
发布于 2018-02-21 06:02:34
如果使用CoGroupByKey加入PCollection,beam大致要求它们具有相同的窗口(实际等式取决于WindowFn#verifyCompatibility的实现)。因此,上面提到的场景不会发生。
https://stackoverflow.com/questions/48788357
复制相似问题