如何根据批处理表的增量窗口编写SQL进行计算



我的要求是根据批次表的增量尺寸窗口进行计算。

例如,第一个窗口有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文件(中读取,并且在那里也支持许多操作。但是,这取决于您要在查询中使用的其他操作。

相关内容

  • 没有找到相关文章

最新更新