Dataflow是否为我提供了设置第一个窗口起点的方法?或者是否有计算起点的公式?
我试图为复合变换编写单元测试,该复合变换应用SlidingWindow,GroupByKey,然后是DoFn。
我的窗户将是
[To + i * period, To + i * period + duration)
其中To是第一个窗口的开头,句点是窗口的周期,持续时间是窗口的持续时间。
所以不知道我无法预先计算输出中的预期值,并将它们传递给DataflowAssert以验证结果。
答案 0 :(得分:1)
一种解决方法是不使用DataflowAssert。我可以将两个转换添加到我的测试管道中1)将时间窗口边界附加到每个数据点,2)将数据点写入临时文件。
管道运行后,我可以通过读取临时文件来实现结果。由于数据点用每个窗口的结束值标记,我可以计算出预期值应该是什么。