Kafka connect MongoDB Kafka разъем с использованием JSONConverter не работает - PullRequest
1 голос
/ 18 февраля 2020

Я пытаюсь настроить соединитель Kafka для использования mongoDB в качестве источника и отправки записей в разделы Kakfa. Я успешно сделал это, но я пытаюсь сделать это с JSONConverter, чтобы также сохранить схему с полезной нагрузкой.

Моя проблема заключается в том, что соединитель сохраняет данные следующим образом:

{ "schema": { "type": "string" } , "payload": "{....}" }

Другими словами, он автоматически предполагает, что фактическая JSON является строкой, и сохраняет схему как строку.

Вот как я настраиваю соединитель:

curl -X POST http://localhost:8083/connectors -H "Content-Type: application/json" -d '{
 "name": "newtopic",
 "config": { 
"tasks.max":1,
 "connector.class":"com.mongodb.kafka.connect.MongoSourceConnector", 
 "key.converter":"org.apache.kafka.connect.json.JsonConverter", 
 "key.converter.schemas.enabled": "true",
 "value.converter":"org.apache.kafka.connect.json.JsonConverter", 
 "value.converter.schemas.enabled": "true",
 "connection.uri":"[MONGOURL]", 
 "database":"dbname", 
 "collection":"collname", 
 "pipeline":"[]", 
 "topic.prefix": "", 
 "publish.full.document.only": "true" 
 }}'

Я что-то упустил для конфигурации? Разве он не может угадать схему документа, хранящегося в MongoDB, поэтому он идет со строкой?

1 Ответ

0 голосов
/ 18 февраля 2020

Тут нечего догадываться. Mon go без схемы, последний раз я проверял, поэтому схема представляет собой строку или байты. Я бы предложил использовать AvroConverter или установить для схемы значение false

Вы также можете попробовать использовать Debezium, чтобы увидеть, если вы получите другие результаты

...