gpt4 book ai didi

jdbc - Kafka 连接 JDBC 接收器连接器 : How to delete a record that doesn't have a NULL value?

转载 作者:行者123 更新时间:2023-12-04 14:15:39 25 4
gpt4 key购买 nike

是否有(推荐的)方法可以从 Kafka Connect JDBC Sink 连接器中删除记录值不为 NULL 的记录?

例如,如果我的 JSON 配置包括以下内容:

...
"delete.enabled": "true",
"pk.mode": "record_key",
...

并且我的记录的值是非空的,有没有办法在数据库中删除该记录?

我问是因为记录的值有一个字段来标记它是否应该被删除,即像“Operation”这样的列,其中“Operation”==“D”应该是通过JDBC在数据库中删除。

如果有标准/推荐的方法来做到这一点,我很乐意听到。我唯一的其他想法是进行自定义转换,检查“操作”列的值“D”,如果匹配,我们将 PK 完好无损地传回记录,但将值设置为 NULL 又名墓碑记录连接器应该将其作为删除操作拾取。有这种可能吗?

我感谢任何帮助,谢谢!

最佳答案

还没有回应,但我得到了我有点笨拙的解决方案:

  • 如果满足某个条件(在我的情况下,这是检查记录值中的字段),则创建了一个自定义转换,将记录的值设置为 NULL(生成墓碑记录)
  • 如果不满足条件,转换返回原始记录
  • 打包成JAR
  • 在“plugin.path”上提供 JAR
  • 确保 "delete.enabled":"true"和 "pk.mode":"record_key"以便实际删除墓碑记录
  • 发送 POST 请求以实例化连接器时,在 POST
  • 正文中包含转换和任何相关配置

    希望这可以帮助

    关于jdbc - Kafka 连接 JDBC 接收器连接器 : How to delete a record that doesn't have a NULL value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60569830/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com