你这个用了distinct的话,肯定就是针对全局的id进行distinct了,设置state也无效。 建议自己使用bigmap或者hyperlog算法实现一个distinct,这样可以节省内存
原始邮件 发件人:谷歌-akulakuzhan...@akulaku.com 收件人:user-zh@flink.apache.orguser...@flink.apache.org 发送时间:2019年11月26日(周二) 20:05 主题:flink检查点状态大小 streamTableEnv.getConfig().setIdleStateRetentionTime(Time.minutes(15), Time.minutes(20)); 我在程序中设置状态保留时间,然后用全局group进行计算,但是过期状态没有清理导致状态也来越大,最终内存溢出,请问这是什么原因导致的 运行SQL select count(distinct id) as user_count,adjust_time from (select data.f13 as country_id,data.f1 as id,concat(DATE_FORMAT(FROM_UNIXTIME(data.f12/1000),'yyyy-MM-dd HH:mm'),':00') as adjust_time from userActionLog3) access_user_count where country_id='1' group by adjust_time 发送自 Windows 10 版邮件应用