我的要求是根据批次表的增量尺寸窗口进行计算。
例如,第一个窗口有1行,第二个窗口有2行(包括从第一个窗口和新行1行(,然后在第三窗口中3行(包括第二个窗口,距离第二个窗口2行,一个行和一个新行(,依此类推。
例如:
源表:
日期时间|Productid |价格|
3-1 |P1 |10 |
3-2 |P1 |20 |
3-3 |P1 |30 |
3-4 |P1 |40 |
结果表:
日期时间|Productid |平均|
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 Action可以做到这一点,但尚未在Flink中实施,因此我需要另一种方法。
btw:
我尝试使用1天的滚筒窗口并将上一个值存储在用户定义的聚合对象中,但由于所有产品都将重复使用聚合对象,而不是每个产品的一个对象
批处理表上的"超级子句"尚未由Flink的SQL支持。您可以在这里跟踪这项工作的状态。
但是,您是否考虑过在流表上实现此行为?流表也可以从静态文件(例如CSV文件(中读取,并且在那里也支持许多操作。但是,这取决于您要在查询中使用的其他操作。