#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