ETL с Kafka и MongoDB в качестве источника - PullRequest
0 голосов
/ 17 июня 2020

Я только что узнал о Apache Кафке. Мой текущий ETL работает в пакетном режиме, и теперь я хочу, чтобы он выполнялся в потоковом процессе, чтобы данные, используемые для отчетов, всегда были актуальными. Насколько я понимаю, я могу использовать коннектор MongoDB для захвата изменений данных из mongodb, а затем их отправки на kafka topi c. Но в моем ETL мне нужно сохранить данные после обработки в базе данных SQL. Как и где я могу обработать данные, отправленные с mongodb на топи c, а затем создать из них запись в другую базу данных? Могу ли я использовать лямбда-функцию AWS для обработки и создания записи? Но тогда как я могу вызвать эту функцию из кафки?

1 Ответ

0 голосов
/ 17 июня 2020

Короткий ответ на ваш вопрос: Kafka Connect . Более длинный ответ - Kafka Connect плюс потоковая обработка (например, Kafka Streams, ksqlDB, et c).

Ваш конвейер будет выглядеть примерно так:

  • Чтение из MongoDB с помощью Kafka Connect (например, этот коннектор или этот коннектор ). Вот пример
  • При желании можно обработать данные (фильтровать, обогащать, агрегировать, объединять) с потоковой обработкой. Вот пример с использованием ksqlDB.
  • Передача данных в базу данных с помощью Kafka Connect и JDB C Sink connector . Вот пример учебника .

Вот более общий обзор использования Kafka в ETL в качестве блога и talk . Вы можете узнать больше о Kafka Connect в этом разговоре .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...