开发者社区> 问答> 正文

Flink写入ODPS时有重复数据如何处理

已解决

Flink写入ODPS时有重复数据如何处理

展开
收起
提个问题 2024-05-31 11:05:11 5 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    ODPS只保证at least once,不保证exactly once。只不过使用batch tunnel时出现重复数据的概率比使用streaming tunnel时小很多。
    首先检查是否使用了streaming tunnel(odps 表 with 参数里是否有 'useStreamTunnel' = 'true')。
    如果是,在作业出现任意failover的情况下ODPS里确实会出现重复数据,是期望行为。
    如果使用batch tunnel(odps 表 with 参数里没有 'useStreamTunnel'),那么只有在做checkpoint出现failover时,ODPS里才有可能出现重复数据(表现为一部分partition有重复数据,一部分没有),也是期望行为。
    如果作业运行正常没有failover但仍然有重复数据,建议检查代码逻辑,以及是否有其他作业在写同样的ODPS表。
    2024-05-31 11:05:12
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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