需求
(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
2.需求本身的问题
不应该实时计算当前的数量,相当于不开窗累加。
3.最终sql的一些问题
两个source表,只要有一个表过来数据就会产生一个结果法网下游。这样相当与把两个topic的数据量发送到了一个topic。
本来求的是一个聚合的