在使用窗体进行流分割计算的时候,通过将stream注册成表可以拿到proctime.proctime, rowtime.rowtime 不同的时间,完成时间窗体的计算,如果对于这个动态表进行多段处理,即根据该表生成多个table,那么子table就无法使用
proctime.proctime, rowtime.rowtime
这里是将子table(最终结果)=》撤回流,通过timewindow进行聚合去除状态数据,并输出Retraction stream
异常:
如果想使用会报:Retraction on windowed GroupBy aggregation is not supported yet. Note: Windowed GroupBy aggregation should not follow a non-windowed GroupBy aggregation
请问这种应该如何解决,只用一级table动态表 进行窗口聚合没有问题,但是业务复杂度不支持
具体代码实现如下(一个带时间的表和2个不带时间的表json):
join 之后 watermark(和 rowtime) 都会丢失,后面就无法再接 window aggregate了。
你可以尝试使用 window-join, https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql.html#joins 搜索Time-windowed Join
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。