我正在尝试从oracle db中的表中复制数据,并尝试将这些数据放入kafka主题中。我为此使用了以下JDBC源连接器:
name=JDBC-DB-source
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.password = *******
connection.url = jdbc:oracle:thin:@1.1.1.1:1111/ABCD
connection.user = *****
table.types=TABLE
query= select * from (SELECT * FROM JENNY.WORKFLOW where ID = '565231')
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=http://localhost:8081
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://localhost:8081
mode=timestamp+incrementing
incrementing.column.name=ID
timestamp.column.name=MODIFIED
topic.prefix=workflow_data12
poll.interval.ms=6000
timestamp.delay.interval.ms=60000
transforms:createKey
transforms.createKey.type:org.apache.kafka.connect.transforms.ValueToKey
transforms.createKey.fields:ID
到目前为止很好。我可以将数据输入我的kafka主题。但是输出如下所示:
key - {"ID":"\u0001"}
value - {"ID":"\u0001","MODIFIED":1874644537368}
尽管我在JDBC属性文件中使用的是Avro,您仍可以观察到我的键“ ID ”以十六进制格式打印。
(我正在使用 kafka-avro-console使用者在命令行上查看数据)
(Oracle数据库中“ ID”列的类型为“ NUMBER ”。)
如果我缺少一些财产,有人可以帮我指出吗?以Avro格式正确打印数据。
提前谢谢!