楼主你好,看看这个: 问题背景 任务开始运行符合预期,任务运行几天后无法在结果表找到后续的数据 分析过程 1.查看日志确定任务堆栈无异常打印 2.使用print表进行测试数据是未进入flink还是在flink中丢失,异常发生时print表的日志正常打印,结果表无数据 3.任务数据丢失的时间都很规律,都是运行到一个固定时间后续的数据丢失,调整ttl时间确定是否时ttl时间到导致状态被清楚 4.调大后发现确实同丢失的数据确实是ttl时间之后的数据 5.检查作业确认逻辑为left join ,左表为静态表 ,将左表改为维表形式使用观察后续数据无异常 方案结论 1.flink全托管的left join为左流驱动,如果左表不能保持跟新则会在ttl到期时间停止任务的驱动,导致后续数据无法join上 2.先修改ttl定位问题。后续建议静态表使用维表的方式来使 实时计算Flink版数据的状态默认保存36小时,如果某个状态超过36小时没有更新,之前的状态可能会被清掉.修改方式如下 ps: 参数名和参数值之间必须要有间隔,没有空格会保存不了该参数设置或者报错
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。