flink-sql1.11写入mysql重复问题

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

flink-sql1.11写入mysql重复问题

凌天荣
使用flink-sql1.11时,insert进connect为mysql的flink table时,由于mysql里面的id是主键自增的,1.11版本upsert模式设置主键在插入的时候又不能指定为mysql的主键id,只能设置别的字段为flink table的主键,所以会造成有时候mysql里面有两条相同的数据,有啥可解决的吗?(PS:两条是ods两个事实表进行intvate join,正常情况flink table主键和mysql主键一样的话,upsert模式是能回撤旧数据写入新数据的)
Reply | Threaded
Open this post in threaded view
|

Re: flink-sql1.11写入mysql重复问题

Leonard Xu
Hi

这个原因在于flink 和 mysql主键是不一致导致的重复数据,你可以把当前mysql表中设置成flink主键的字段添加个unique key 约束,这样和pk也是等价的。

Best
Leonard

> 在 2020年9月6日,21:21,凌天荣 <[hidden email]> 写道:
>
> 使用flink-sql1.11时,insert进connect为mysql的flink table时,由于mysql里面的id是主键自增的,1.11版本upsert模式设置主键在插入的时候又不能指定为mysql的主键id,只能设置别的字段为flink table的主键,所以会造成有时候mysql里面有两条相同的数据,有啥可解决的吗?(PS:两条是ods两个事实表进行intvate join,正常情况flink table主键和mysql主键一样的话,upsert模式是能回撤旧数据写入新数据的)