Open enybady opened 5 years ago
Источники:
Из источников строго обязательный — документация kafka. По scala помимо документации есть книга: Кей Хорстман "Scala для нетерпеливых" — для быстрого введения. Из sbt нужно знать в основном команду: sbt run
— она запускает основной класс проекта из текущей директории. Также может оказаться полезной команда sbt console
— запускает REPL scala в контексте текущего проекта — полезно для экспериментов.
Есть пара вопросов
Поднимал Kafka через докер из следующих образов: wurstmeister/zookeeper wurstmeister/kafka:latest
Кажется, что-то с сетевым доступом не так. Запустил Producer на самой виртуалке с Kafka - всё заработало
В общем, что не так было с сетью - позже разберусь, 1й вопрос отменяется
На 2й вопрос, кажется, тоже нашёл ответ
Вопрос по заданию - окно, в котором мы считаем напечатанные слова, должно быть скользящее? Если так, какой период сдвига у него должен быть?
@eugene-eliseev в общем любое окно, работу которого можно проверить за вменяемое время. Скользящее (sliding) окно в kafka-streams опирается на временные метки и не имеет параметра-прыжка. Для hopping window пусть будет прыжок - 1 минута
У меня вроде получилось сделать, но есть один нюанс. Для теста я использовал окно 10 секунд и прыжок 2 секунды. Так вот данные в топик выкидываются не раз в 2 секунды, а сразу кучей раз в 30 секунд (то есть данные собираются каждые 2 секунды, скапливаются и выкидываются каждые 30 секунд). Это нормально или я что-то делаю неправильно (не указал чего-то)?
Ну и соответственно второй топик, который основывается на предыдущем, запаздывает, как раз на 30 секунд
Вопрос не актуален, забыл дописать кое-что )
Закоммитил скрипт. Костыльный наверное, но пока какой есть ) Вроде работает )
пока только почитал, сразу несколько замечаний:
throurh()
. Найди что это и примени, будет полезно.map
, зачем?groupBy((key, _) => key) == groupByKey
reduce
а aggregate
.Запускать, окончательно проверять будем завтра
DoD: