как читать / писать в Кафке, используя JDBC с условиями - PullRequest
0 голосов
/ 25 мая 2019

У меня есть сервер Kafka, который отлично работает для синхронизации таблицы между серверами. Моя база данных - PostgreSQL, и я использую соединитель приемника / источника JDBC.

Теперь мой вопрос: как я могу прочитать данные из двух таблиц в Source и вставить данные в четыре разных таблицы со стороны Sink.

пример:

Исходная таблица: пользователи, роли

Раковины: рабочие, менеджеры, работодатели, ...

На родительском сервере все пользователи доступны в таблице Users и имеют отношение к таблице Role. с другой стороны, я хочу вставить данные в конкретную таблицу в соответствии с ее ролью

1 Ответ

1 голос
/ 07 июня 2019

Для Раковины JDBC вам нужна одна тема для каждой целевой таблицы.Таким образом, вам нужно четыре темы, по одной на целевую таблицу, заполненные объединенными данными.Это соединение должно произойти в какой-то момент в конвейере.Возможные варианты:

  1. Как часть источника JDBC, с использованием опции query разъема.Создайте четыре соединителя, каждый с необходимым запросом для заполнения каждой целевой темы объединением, которое выполняется на стороне postgres в SQL.
  2. Как потоковое приложение, например, в Kafka Streams или KSQL.Источник JDBC извлекает исходные таблицы users и roles, и вы выполняете объединение по мере прохождения каждой записи.
...