Я пытаюсь реализовать Лямбда-архитектуру, используя следующие инструменты: Apache Kafka для получения всех данных, Spark для пакетной обработки (Big Data), Spark Streaming для реального времени (Fast Data) и Cassandra для сохранения результатов.Лямбда-архитектура с Apache Spark
Кроме того, все получаемые данные связаны с сеансом пользователя, и поэтому для пакетной обработки мне интересно только обрабатывать данные, как только сессия завершится. Итак, поскольку я использую Kafka, единственный способ решить эту проблему (при условии, что все точки данных хранятся в одной и той же теме) заключается в том, чтобы пакет получал все сообщения в теме, а затем игнорировал те, которые соответствуют сеансам, которые еще не закончены.
Итак, что я хотел бы спросить:
- ли это хороший подход к реализации лямбда-архитектуры? Или вместо этого следует использовать Haddop и Storm? (Я не могу найти информацию о людях, использующих Kafka и Apache Spark для пакетной обработки, Map Reduce)
- Есть ли лучший подход к решению проблемы с пользовательскими сеансами?
Спасибо.