如何为滑动窗口编写单元测试?

时间:2015-03-15 19:02:44

标签: google-cloud-dataflow

Dataflow是否为我提供了设置第一个窗口起点的方法?或者是否有计算起点的公式?

我试图为复合变换编写单元测试,该复合变换应用SlidingWindow,GroupByKey,然后是DoFn。

我的窗户将是

[To + i * period, To + i * period + duration)

其中To是第一个窗口的开头,句点是窗口的周期,持续时间是窗口的持续时间。

所以不知道我无法预先计算输出中的预期值,并将它们传递给DataflowAssert以验证结果。

1 个答案:

答案 0 :(得分:1)

一种解决方法是不使用DataflowAssert。我可以将两个转换添加到我的测试管道中1)将时间窗口边界附加到每个数据点,2)将数据点写入临时文件。

管道运行后,我可以通过读取临时文件来实现结果。由于数据点用每个窗口的结束值标记,我可以计算出预期值应该是什么。