2017-11-11 268 views

回答

0

閱讀數據流窗口相關數據可能是值得的。滑動時間窗口也使用數據流中的時間間隔來定義數據束;然而,隨着時間窗的滑動,窗戶重疊。每個窗口可能會捕獲5分鐘的數據,但每隔10秒就會有一個新窗口開始。滑動窗口開始的頻率稱爲週期。 可以從「窗口」文檔page,「Sliding Time Windows」子章節中收集更多詳細信息。

0

水印是系統關於該窗口的所有事件何時到達的概念。早期發射允許在水印之前發出早期的推測結果。

動畫中一個非常有趣的例子可以在this article中找到。例如,下面的代碼片段提供早期更新的每一分鐘:

PCollection<KV<String, Integer>> scores = input 
    .apply(Window.into(FixedWindows.of(Duration.standardMinutes(2))) 
       .triggering(
       AtWatermark() 
        .withEarlyFirings(AtPeriod(Duration.standardMinutes(1))) 
        .withLateFirings(AtCount(1)))) 
    .apply(Sum.integersPerKey()); 

如果你要玩的,你還可以得到各開窗格與getTiming時機()。 PaneInfo docs

@ProcessElement 
public void processElement(ProcessContext c) throws Exception { 
    String timing = c.pane().getTiming().toString()); 
    ... 
}