开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

求大佬解答一下,我现在有个flink cdc任务该怎么处理呢?

求大佬解答一下,我现在有个flink cdc任务,会计算不用的结果列,根据不同属性的列,我分了多个sink table,但是都是写入同一个mysql物理表中,ddl我也定义了主键,应该是开启了upsert的语义的,但是mysql结果表中还是会出现,结果被某些sink 算子直接覆盖了,并没有只是修改对应的列的情况,这种现象需要怎么处理呢?

展开
收起
滴滴滴~ 2023-03-21 12:18:28 221 0
1 条回答
写回答
取消 提交回答
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    确认sink算子是否存在写入同一行数据的情况。可以在MySQL表中添加一个自增主键,查看是否存在相同的主键值。

    确认在写入MySQL表时是否使用了正确的upsert语义。upsert语义可以确保在更新或插入数据时不会覆盖原有的数据,而只是修改对应的列。在Flink中,可以使用upsert()方法指定upsert语义。

    2023-03-23 15:33:06
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

热门讨论

热门文章

相关电子书

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