开发者社区> 问答> 正文

Flink作业执行和上线得到的数据不一致

已解决

Flink作业执行和上线得到的数据不一致

展开
收起
提个问题 2024-06-10 10:12:00 32 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    可能出现的原因如下:
    作业中在写sink表示增加了一个非确定性的时间列(每条记录产生新的时间戳),在线上使用hologres sink时,因为声明了pk,支持upsert模式按 key 更新,消息更新是没问题的但是preview不支持upsert模式,是按整行retract的,所以当更新流上(包括cdc source,以及agg、双流join等状态算子操作后会产生更新消息)附加了非确定性函数产生的列时,会影响retract消息(retract和对应的insert正常情况下应该只有rowkind的区别,数据完全一致 ),才会出现retract的时间戳和insert的不一样(社区 1.16 已经加上了这种不确定性更新问题的检测和解决机制,详情见文档
    2024-06-10 10:12:01
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载