Можем ли мы обновить / добавить запись в mongodb? источник данных - кафка

Мы можем обновить / добавить запись в mongodb, НО есть ли какой-либо метод или функция, с помощью которых мы можем обновить или добавить документ прямо в mongodb, и исходная система - это kafka, а место назначения - mongodb.

2 ответа

Решение

Да, мы можем обновить / добавить данные. Для обновления вам необходимо определить параметр в коннекторе Kafka. и внесите в белый список столбец, на основе которого вы хотите обновить запись. Имущество следующее:

document.id.strategy=com.mongodb.kafka.connect.sink.processor.id.strategy.PartialValueStrategy
value.projection.list=tokenNumber
value.projection.type=whitelist
writemodel.strategy=com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneTimestampsStrategy

Я боролся с этим, наконец, я получил ответ. Я использовал следующие раковины MongoDB разъем

И после того, как я некоторое время возился с их документом, я наконец нашел решение.

Это точная конфигурация коннектора приемника mongodb, которую я использую

{
  "name": "mongodbsync",
  "connector.class": "at.grahsl.kafka.connect.mongodb.MongoDbSinkConnector",
  "topics": "alpha-foobar",
  "mongodb.connection.uri": "mongodb://localhost:27017/kafkaconnect?w=1&journal=true",
  "mongodb.document.id.strategy": "at.grahsl.kafka.connect.mongodb.processor.id.strategy.ProvidedInValueStrategy"

}

Я ушел mongodb.writemodel.strategy пусто в моей конфигурации, поэтому он принимает значение по умолчанию

Я использовал вариант использования 2 из следующих документов из github того же коннектора

Я имел дело с этим сценарием, передавая данные таблицы mysql с помощью kafka-jdbc-source connect к mongodb sink.

Вышеупомянутые стратегии также можно найти в официальных документах. Пожалуйста, не стесняйтесь задавать любые сомнения, если у вас есть. Спасибо.

Другие вопросы по тегам