Hi, "如果不对于状态进行管理,后续程序会出现问题"是指状态会变得太大?如果是这样,可以在group by的字段里增加一个天级的时间戳,这样就不会由于key被更新导致的状态过期失效问题
Best, Shammon FY On Fri, May 12, 2023 at 1:59 PM 小昌同学 <ccc0606fight...@163.com> wrote: > 各位老师好,我这边使用的flink sql是" > select funcId,funcIdDesc,serverIp,cast(min(maxTime-minTime) as > varchar(200)) as minTime,pk from > ( > select > a.funcId as funcId , > a.funcIdDesc as funcIdDesc, > a.serverIp as serverIp, > b.outTime as maxTime, > a.outTime as minTime, > concat(a.funcId,a.serverIp) as pk > from tableRequest a > inner join tableAnswer b > on a.handleSerialNo=b.handleSerialNo > ) > group by funcId,funcIdDesc,serverIp,pk" > > 考虑如果不对于状态进行管理,后续程序会出现问题,我这边想实现的状态管理是:我上述的这个sql计算的数据仅仅只是当天(24小时)的,等到第二天就把之前的全部状态全部清除掉,基于这样的场景我可以怎么设置什么参数管理状态,我自己设置参数为“tableEnv.getConfig().setIdleStateRetention(Duration.ofDays(1L));”,看官网的解释,感觉这样会有问题,idlestate是只要更新了就会重新设置过期时间,但是我想实现效果是不管是有咩有更新,只要不是属于今天的就全部清理掉。 > > > | | > 小昌同学 > | > | > ccc0606fight...@163.com > |