Выполнить вычисление для каждой входящей записи данных в kafka

#apache-kafka #kafka-consumer-api #apache-kafka-streams

#apache-kafka #kafka-consumer-api #apache-kafka-streams

Вопрос:

Я использую тему kafka и хочу выполнить вычисление при поступлении новой записи данных. Вычисление должно выполняться для данных входящей записи и двух предыдущих (как показано на рисунке, сохраненном в качестве ссылки здесь). Возможно ли каким-то образом буферизировать последние две записи, чтобы я мог работать с ними и с новой записью?

Пример

Комментарии:

1. «Возможно ли каким-то образом буферизировать последние две записи, чтобы я мог работать с ними и с новой записью?» -> Да, это возможно. Взгляните на оконные и статусные приложения KafkaStreams.

2. Конечно, в Stackoverflow лучше всего решить конкретную проблему с кодированием. Старайтесь избегать вопросов, на которые можно ответить «да» или «нет». Не стесняйтесь попробовать что-нибудь, и в случае, если вы заблокированы или получаете исключение, вернитесь сюда и опишите, что вы сделали, и предоставьте подробную информацию (журналы ошибок), почему это не сработало.

Ответ №1:

Как уже упоминал Майк, это очень широкий вопрос. Судя по тому, что вы написали, это похоже на то, что вы могли бы неплохо сделать с потоками Kafka. Возможно, вы захотите взглянуть на это вступление

Ответ №2:

Вы также можете добиться этого, просто используя KSql. KSQL — это механизм потоковой передачи SQL для Apache Kafka. Он предоставляет простой в использовании интерактивный SQL-подобный интерфейс для потоковой обработки в Kafka без необходимости написания кода на таких языках программирования, как Java или Python. Пожалуйста, найдите учебное пособие https://docs.confluent.io/current/ksqldb/tutorials/index.html