在apache flink中使用allowed lateness有什么好处?例:为什么不使用水印(乱序10个单位)而不是水印(乱序5个单位)+允许延迟(5个单位)?
zd287kbt1#
允许延迟是窗口api中的一个概念——它不是一个通用的构造。在水印+允许延迟的情况下,优点是一旦水印到达窗口结束时间,窗口将被触发并产生一些(初始)结果。因此,在窗口生成某些结果之前,延迟更少,而且随着延迟事件的到来,结果可能会更新——vs——等待更长时间,并得到单个结果。选择哪个对您的用例更有意义。例如,有些人有相当短的水印延迟(以秒为单位),允许的延迟以几十分钟为单位。如果他们总是要等30或60分钟才能得到任何结果,他们就不会高兴了。
1条答案
按热度按时间zd287kbt1#
允许延迟是窗口api中的一个概念——它不是一个通用的构造。
在水印+允许延迟的情况下,优点是一旦水印到达窗口结束时间,窗口将被触发并产生一些(初始)结果。因此,在窗口生成某些结果之前,延迟更少,而且随着延迟事件的到来,结果可能会更新——vs——等待更长时间,并得到单个结果。
选择哪个对您的用例更有意义。例如,有些人有相当短的水印延迟(以秒为单位),允许的延迟以几十分钟为单位。如果他们总是要等30或60分钟才能得到任何结果,他们就不会高兴了。