Fink时间戳报错(no timestamp marker)

本文档记录了在使用Flink时遇到的时间戳问题,具体表现为Record具有Long.MIN_VALUE时间戳,导致系统不认可。通过查阅官方文档,了解到需要自定义时间戳和水印策略。尝试使用assignTimestampsAndWatermarks方法实现,但由于泛型类型定义不当引发错误。最终通过正确设置时间戳转换为日期类型成功解决问题,避免了报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flink报错:java lang RuntimeEKxception: Record has Long .MIN_VALUE timestap (=no timestamp marker) . Is the time characteristic set to "Processingtime , or did you foget to call 'Datastream.assignTimestampsAndwatermarks( … .) '?

在这里插入图片描述
是时间戳的问题,这时我去百度了一下,基本没有相关回答,于是我去翻阅了官方文档
看见
在这里插入图片描述
也就是说我自带的时间戳是它不认可的,那么我们去实现一个新的时间戳就可以了
在这里插入图片描述
这上面继承这个方法来也可以实现水印和时间戳,但是我使用了assignTImestampsAndwatermarks 这个方法来实现时间戳,会报一个错,是因为下面有一个·泛型,我们需要定义类型,最后转成日期类型
在这里插入图片描述

测试
在这里插入图片描述
可以看见原来自带是时间戳是一个长负数,难怪不认可
报错就完美解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值