Kafka Spark Streaming для нескольких тем - PullRequest
0 голосов
/ 30 сентября 2019

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

Поскольку сообщения создаются по некоторым темам довольно редко (в среднем по 1 в день), мы думаем об организации загрузки в пуле * 1004. *.

Идея состоит в том, чтобы избежать создания целого контейнера (и связанных ресурсов) для этой "нечастой" темы. Фактически Spark Streaming принимает список тем на входе, поэтому мы думаем об использовании этой функции, чтобы иметь одиночное задание , потребляющее все из них.

Ребята, ребята, вы считаете, что это хорошая стратегия? Мы также подумали о пакетном проглатывании, но нам нравится сохранять поведение в реальном времени, поэтому мы исключили эту опцию. Есть ли у вас какие-либо советы или предложения?

Хорошо ли обрабатывает Spark Streaming несколько тем в качестве источника в случае сбоев с точки зрения согласованности смещений и т. Д.?

Спасибо!

1 Ответ

1 голос
/ 01 октября 2019

Я думаю, что Spark должен быть в состоянии справиться с несколькими темами хорошо, так как они поддерживают это долгое время, и да, Kafka connect не является API-интерфейсом. Confluent предоставляет коннекторы для их кластера, но вы также можете использовать его. Вы можете видеть, что Apache Kafka также имеет документацию для Connect API.

С Apache-версией Kafka это немного сложнее, но вы можете ее использовать.

https://kafka.apache.org/documentation/#connectapi

Кроме того, если вы выбираете несколько тем kafka в одной работе потокового воспроизведения, возможно, вам следует подумать о том, чтобы не создавать небольшие файлы, поскольку ваша частота кажется очень низкой.

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