Не могу использовать сообщения из тематических разделов в ClickHouse - PullRequest
0 голосов
/ 15 января 2019

Я знакомлюсь с kafka и хочу узнать, как я могу использовать сообщения из разделов в теме для таблиц ClickHouse следующим образом: enter image description here

В случае, когда у меня было 3 темы, было легко соединить таблицы по каждой теме

ENGINE = Kafka SETTINGS
  kafka_broker_list = 'broker:9092',
  kafka_topic_list = 'topic1',
  kafka_group_name = 'kafka_group',
  kafka_format = 'JSONEachRow'

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

1 Ответ

0 голосов
/ 15 января 2019

Есть несколько способов сделать это

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

    { таблица: Таблица1 }

  2. Хотя kafka не предоставляет прямого способа создания метода для конкретного раздела, вы можете использовать ключ для этого. Сделаем ключ с тремя значениями 1,2,3. Когда сообщение генерируется для Таблицы 1, используйте ключ 1. Таким образом, сообщение будет отправлено только в один раздел, и тогда потребитель для этого раздела сможет сохранить данные в Таблице 1

Лично я предпочту метод 1, так как он не связывает обработку кафки с вашей бизнес-логикой

...