我的要求是根据批处理表的增量大小窗口进行计算。
例如,第一个窗口有1行,第二个窗口有2行(包括第一个窗口的1行和一个新行),然后第三个窗口有3行(包括第二个窗口的2行和一个新行) , 等等。
例如:
源表:
日期时间 | 产品编号 | 价格 |
3-1 | p1 | 10 |
3-2 | p1 | 20 |
3-3 | p1 | 30 |
3-4 | p1 | 40 |
结果表:
日期时间 | 产品编号 | 平均|
3-1 | p1 | 10/1 |
3-2 | p1 | (10+20)/2 |
3-3 | p1 | (10+20+30)/3 |
3-4 | p1 | (10+20+30+40)/4 |
我正在尝试找到一种使用 Sql 实现此要求的方法,在我看来,OVER 操作可以做到这一点,但尚未在 flink 中实现,所以我需要另一种方法。
顺便提一句:
我尝试使用 1 天的 TUMBLE 窗口并将先前的值存储在用户定义的聚合对象中,但失败了,因为聚合对象将被所有产品重用,而不是每个产品的单个对象