Какую инфраструктуру следует использовать для агрегирования и объединения данных тем Kafka и сохранения в MySQL - PullRequest
0 голосов
/ 17 мая 2019

У меня есть данные в двух темах kafka из mysql с использованием debezium-connector-mysql-plugin.Теперь я хочу объединить эти данные на ежедневном уровне и сохранить в другой таблице MySQL.

, пожалуйста, предложите.

Спасибо.

1 Ответ

0 голосов
/ 17 мая 2019

Вы на самом деле не изложили свои требования, кроме комментариев о том, что вы не хотите использовать Confluent Platform (но не сказали, почему).


В целом, с данными в Kafka (независимо от того, откуда они берутся) у вас есть различные варианты для их обработки:

  • Сделанный на заказ потребитель (вероятно, плохая идея, учитываяналичие платформ потоковой обработки)
  • KSQL ( для выполнения соединений используется SQL и т. д. ) - часть Confluent Platform
  • Kafka Streams - библиотека Java для выполнения потоковой обработки,Часть Apache Kafka.
  • Flink, Spark Streaming, Samza, Heron, и т. Д. И т. Д. И т. П.

Выбор зависит от вас, и он будет зависеть от таких факторов, как

  1. Используемая существующая технология (нет смысла развертывать кластер Spark, если вам это не нужно; наоборот, если вы уже используете Spark и у вас есть много обученных разработчиков, тогда может иметь смысл использовать его)
  2. Знание языка разработчиками - должен ли это быть API Java или SQL более доступным
  3. Возможности фреймворка / инструмента - нужна ли вам тесная интеграция безопасности, однократная обработка, CEP и т. Д.и т. д. Некоторые из них будут включать или выключать инструмент, который вы используете.

После того, как вы объединили и агрегировали свои данные, хорошим примером для этого является их запись в Kafka (что позволяет более свободно отделять ваш дизайн и позволяет разделять обязанности компонентов) и оттуда запишите его в MySQL, используя Kafka Connect и JDBC Sink.Kafka Connect является частью Apache Kafka.


И последнее замечание: если вы берете данные из MySQL, обрабатываете их, а затем записываете обратно в MySQL ... вам вообще нужен Кафка?Есть ли подходящая причина использовать его, а не просто выполнять эту обработку в самом MySQL?

Отказ от ответственности: я работаю на Confluent.

...