Правильно ли использовать Apache Kafka между Logstash и Spark Streaming, чтобы получить данные журнала для моей бизнес-логики (определенной в Spark)?

Я использую Logstash для отправки данных журнала в службу Elasticsearch в AWS. Теперь у меня есть некоторая бизнес-логика, определенная в Spark Streaming, которую я хочу применить к данным журнала в режиме реального времени, поэтому я думаю об использовании Amazon SQS или Apache Kafka посередине.

Правильно ли использовать Кафку в этом сценарии?

Спасибо.


person Juan Camilo Ramirez    schedule 07.06.2016    source источник


Ответы (1)


Ответ зависит от того, хотите ли вы соединить свое решение с продуктом Amazon? Но да, кафка хорошо подходит для этого использования.

На самом деле Kafka теперь используется вместо Redis в стеке ELK. Кроме того, Spark Streaming сильно зависит от Kafka, чтобы иметь возможность воспроизводить сообщения в случае сбоев.

Это зависит от вашей бизнес-логики, но если вы используете Spark Streaming только для фильтрации и преобразования данных перед вставкой в ​​Elasticsearch, вам следует взглянуть на KafkaStreams.

KafkaStreams предоставляет элегантный DSL (а-ля Spark) для управления вашими сообщениями kafka (преобразования, фильтры, агрегации) без необходимости развертывания кластера основных/рабочих узлов.

person fhussonnois    schedule 08.06.2016
comment
Я никогда не слышал, чтобы Redis использовался как часть стека ELK, как, кажется, предлагает этот ответ. Кроме того, Spark Streaming может использовать контрольные точки самостоятельно, не сильно полагаясь на Kafka для воспроизведения. - person OneCricketeer; 09.05.2021