Можем ли мы обновить / добавить запись в 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
.
Вышеупомянутые стратегии также можно найти в официальных документах. Пожалуйста, не стесняйтесь задавать любые сомнения, если у вас есть. Спасибо.