upsert-kafka 提供了 value.fields-include 配置项[1],可以根据 value 中是否包含主键信息配置为 ALL 或 EXCEPT_KEY,默认为 ALL。
[1] https://nightlies.apache.org/flink/flink-docs-master/zh/docs/connectors/table/upsert-kafka/#value-fields-include > 2024年11月12日 15:28,Yanquan Lv <decq12y...@gmail.com> 写道: > > 建议 value 中不添加主键信息了。 > 如果 value 中也添加了,就需要再配置 key.fields-prefix 来区分 id 这个信息是从 key 获取还是从 value > 获取,参考文档[1]。 > > [1] > https://nightlies.apache.org/flink/flink-docs-master/zh/docs/connectors/table/kafka/#%e6%b6%88%e6%81%af%e9%94%aekey%e4%b8%8e%e6%b6%88%e6%81%af%e4%bd%93value%e7%9a%84%e6%a0%bc%e5%bc%8f > > > >> 2024年11月12日 13:58,高速缓存 <guoyu0...@foxmail.com> 写道: >> >> 你好,我确实没有设置kafka消息的key,我晚点加上key再实验一下,多谢! >> 不过我有一些疑问,source >> table的主键信息已经写在了消息的key中,那是否还需要在value中包含主键的信息?就像我的kafka中的消息那样包含一个id字段? > >