我正在尝试为有界数据集计算一些滑动平均值,这些数据集有日期和一些值。
基于来自:https://cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/dataflow/sdk/transforms/windowing/SlidingWindows和https://cloud.google.com/dataflow/model/windowing#sliding-time-windows的文档
首先,我使用outputWithTimestamp发出日期戳,将时间戳划分为:
Window.into(
SlidingWindows
.of(Duration.standardDays(3))
.every(Duration.standardDays(1)))因此,对于dataset的PCollection:
[Jan 3rd, 100]
[Jan 4th, 200]
[Jan 5th, 400]我看到的输出PCollection是[100, 300, 700, 600, 400],这似乎意味着窗口函数从1月1日到3日的窗口开始,到1月5日到1月7日的窗口结束。第一个窗口似乎在我的PCollection之前开始,这有意义吗?
发布于 2018-01-09 12:12:12
如果在输出PCollection中指定与每个元素相关联的窗口,您将看到以下内容:
[Jan 1-3, 100]
[Jan 2-4, 300]
[Jan 3-5, 700]
[Jan 4-6, 600]
[Jan 5-7, 400]事件时间在某种意义上是“柏拉图式的”,即它“一下子”全部存在。如果您有一个数据集,其中您知道数据仅在特定间隔内是完整的,则可以筛选这些结果,以删除不在具有良好数据的间隔内的值。
https://stackoverflow.com/questions/48159747
复制相似问题