繁体   English   中英

如何通过 JDBC 接收器连接器编写 kafka 记录键以分隔列(不是主键)?

[英]How to write kafka record key to separate column (not primary key) by JDBC sink connector?

我想将 kafka 记录写入 PostgreSQL 以分隔列,并且该列不应该是主键 如何配置我的 JDBC 接收器连接器?

示例:在 kafka 主题中记录:

  1. 键=“ABC”; 价值=“价值_1”
  2. 键=“ABC”; 价值=“价值_2”

数据库中的结果:

COL1 ; COL2 
abc  ; value_1
abc  ; value_2

COL1 不是主键

  • ps1。 我没有价值写作的问题。
  • ps2。 pk.mode从 kafka 记录键创建主键,这不是我想要的。

为了不写入数据库键,您需要将键重新定位到 ConnectRecord 值结构中。

您应该能够使用这样的转换(诚然,它很旧并且提到了 S3,但应该可以用于此目的)

安装到您的 Connect 集群类路径并在连接器中进行配置后,所有记录都将写入数据库,其中包含key|value|topic|timestamp列。 还要确保pk.mode=none ,并使用启用了模式的 JSONConverter(如果使用模式注册表,则使用 Avro / Protobuf)

如果您不需要主题或时间戳并且明确需要“col1”、“col2”,您也可以重命名/删除

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM