ighack 发表于 2019-03-25 16:25

关于流式计算中窗口的理解问题

一般在流式计算中都会有一个窗口的概念(window)。
比较在flink中的
.timeWindow(Time.seconds(5))

它将无边界数据按时间划分为每5秒一个窗口
那么第次聚合计算(sum)都是计算出当前窗口的值
也就是说我计算出的是10:00:05,10:00:10,10:00:15,10:00:20,10:00:25
这5次在不同时间段内的的结果。如果我想要得到的是一个月的sum结果。我难道要将时间窗口设成一个月吗?
如果是一年呢?10年呢。

还有一种思路是。将每5秒的结果存下来做中间结果。
但如果我的数据量很大,存下来的中间结果很多。在计算的话不就成了一个批处理吗?无法实时得到结果。
而且这样计算也有问题。比如我的数据有修改,或者其他的什么。并不适合这种有中间结果在聚合的场景,该怎么做。


还有就是计算结果的不准确性。如果数据延时到达。上一个窗口都已经关闭了。计算出来的结果就漏掉了这个延时到达的数据。其结果就不准确了
flink中怎么去处理的


页: [1]
查看完整版本: 关于流式计算中窗口的理解问题