需求
(source1 申请表 source2 结果表)
要求输出4个字段:
申请表当前的数量,
结果表当前的数量,
申请表近1小时的数量,
结果表近1小时的数量,
遇到的问题
1.Rowtime attributes must not be in the input rows of a regular join. As a workaround you can cast the time attributes of input tables to TIMESTAMP before.
官网解释:https://help.aliyun.com/document_detail/160117.html?spm=5176.10695662.1996646101.searchclickresult.d7fb34754vQOA7#section-spd-rv9-njx
报错原因
双流JOIN的ON条件中包含时间属性字段。
解决方案
删除双流JOIN中包含时间属性字段的ON条件。
通过CASET或TO_TIMESTAMP函数处理时间属性字段,然后再进行JOIN。
带有时间属性的两个原表普通join会丢掉时间属性。interval join 不会。带有时间属性和不带时间属性的两个流join也会报这个错 。
看这个双流join的例子 https://www.zybuluo.com/22221cjp/note/1675448
<
本文探讨了在Flink中进行非窗口和窗口聚合Join时遇到的问题,包括Rowtime attributes限制、需求分析、SQL实现细节以及Mini Batch优化和Upsert Kafka的使用。在解决工作中遇到的挑战后,提供了最终的SQL解决方案。
订阅专栏 解锁全文
367

被折叠的 条评论
为什么被折叠?



