Confluent соединитель Kafka-connect-JDBC, показывающий шестнадцатеричные десятичные данные в теме kafka - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь скопировать данные из таблицы в oracle db и пытаюсь поместить эти данные в тему кафки.Для этого я использовал следующий разъем источника 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

Пока все хорошо.Я могу получить данные в моей теме кафки.Но вывод выглядит следующим образом:

key - {"ID":"\u0001"}   
value - {"ID":"\u0001","MODIFIED":1874644537368}

Вы можете заметить, что мой ключ " ID " печатается в шестнадцатеричном формате, несмотря на то, что я использую Avro в моем файле свойств JDBC.

(я использую kafka-avro-console customer для просмотра данных в командной строке)

(И столбец "ID" имеет тип " NUMBER"в базе данных оракула.)

Может ли кто-нибудь помочь мне указать, пропускаю ли я какую-то собственность?правильно распечатать данные в формате Avro.

Заранее спасибо !!

1 Ответ

0 голосов
/ 15 апреля 2019

Добавьте это свойство в ваш файл .properties, например, перед запросом:

numeric.mapping = best_fit

Подробное описание можно найти здесь

...