首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据流.elementCountAtLeast(1)与.pastEndOfWindow()保证

数据流.elementCountAtLeast(1)与.pastEndOfWindow()保证
EN

Stack Overflow用户
提问于 2016-03-10 13:07:08
回答 1查看 519关注 0票数 1

如果我有这样的窗户

代码语言:javascript
复制
.apply(Window
    .<String>into(Sessions
        .withGapDuration(Duration.standardSeconds(10)))
    .triggering(AfterWatermark
        .pastEndOfWindow()
        .withEarlyFirings(AfterPane.elementCountAtLeast(1))
        .withLateFirings(AfterPane.elementCountAtLeast(1))));

从Pub/Sub中接收3种元素。

它能保证窗口准确触发4次吗?

是否保证:

  • 究竟是一个ON_TIME窗格(由窗口末端的水印触发)?
  • 其他三个窗格(早或晚),每个元素准确一个?

我看着Timing,上面写着:

ON_TIME窗格可能包含本地晚元素。它甚至可能只包含局部延迟的元素。如果一个本地晚元素找到了进入ON_TIME窗格的方法,那么它的延迟就变得不可观察。

因此,好的,ON_TIME窗格可以包含晚元素,但是ON_TIME会为ON_TIME窗格中的每个晚元素触发另一个窗格,还是这些元素不会触发,因为它们是ON_TIME窗格的一部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 17:32:15

元素仅是单个窗格中的“新”元素。假设没有空窗格,那么3个输入元素最多会导致3个输出窗格。使用该触发器,可能会有一个空的ON_TIME窗格。还可以通过指定ClosingBehavior来请求一个空的最后窗格。

如果晚元素进入ON_TIME窗格,它们将不会作为未来窗格的一部分重新触发(尽管如果您正在积累激发窗格,它们将继续被合并到结果中)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35917424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档