【问题标题】:Kafka JDBC sink connector for a existing table with different column names?用于具有不同列名的现有表的 Kafka JDBC 接收器连接器?
【发布时间】:2021-03-04 09:29:21
【问题描述】:

我正在尝试创建一个 jdbc 接收器连接器,该连接器从主题中读取数据并将数据放入现有表中。 问题是它不是与表的 1:1 映射。相反,所有列名都与我在消息中的不同

下面是我在主题中的消息的样子:

{
 "dealNo":"6666777",
"exception": 
{"code":12345E
 "desc": couldnot process the issue,  
},
}

数据库表映射如下:ERROR_TB

id: auto generated sequence
srcId : "APP" (need to pass default value) 
factory : dealNo (from json)
body : here i need to pass the entire message
description : exception (from json)

有人可以指导我如何为此应用转换吗?我是新手,不知道如何实现

【问题讨论】:

    标签: apache-kafka apache-kafka-connect confluent-platform


    【解决方案1】:

    希望你在不久前就知道了,但对于以后的任何人来说,因为我有同样的问题......从查看这个网页https://docs.confluent.io/platform/current/connect/transforms/replacefield.html#replacefield 看起来很简单

    您只需在设置 JDBC 连接器时指定这些属性。

    重命名字段 此配置 sn-p 显示如何使用 ReplaceField 与 重命名属性。

    "transforms": "RenameField",

    "transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",

    "transforms.RenameField.renames": "foo:c1,bar:c2"

    这会将 foo 和 bar 字段名称替换为 c1 和 c2。

    之前:{"foo":22,"bar":"baz"}

    之后:{"c1":22,"c2":"baz"}

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 1970-01-01
      • 2020-05-28
      • 2019-06-17
      • 2020-01-11
      • 1970-01-01
      • 2018-08-07
      • 2018-02-06
      • 2019-11-15
      相关资源
      最近更新 更多