图中“(1)”和“(2)”分别代表左表中的第一条和第二条记录; “(a)”和“(b)”代表右表中的第一条和第二条记录。
当createWindowJoinEngine
的参数
window设置为0:0时,右表上的窗口由左表中的当前时间戳和其上一个时间戳确定。下图展示了右表的窗口(左闭右开)是如何创建的:
窗口的计算是由窗口结束后下一条记录的到来触发的。
以下是计算过程的逐步说明:
右表第一个窗口仅包含记录“(a)”。右表第二个窗口没有数据。前两个窗口的计算都是由第三个窗口的下一条记录“(b)”的到达触发的。
第三个窗口包含记录“(b)”和“(c)”。它的计算是由第四个窗口的下一条记录“(d)”到达触发的。
后续窗口将继续该过程。