我正在尝试使用以下工具实现 Lambda 架构:用于接收所有数据点的 Apache Kafka、用于批处理(大数据)的 Spark、用于实时(快速数据)的 Spark Streaming 和用于存储结果的 Cassandra。
此外,我收到的所有数据点都与用户会话相关,因此,对于批处理,我只对会话完成后处理数据点感兴趣。所以,由于我使用的是 Kafka,解决这个问题的唯一方法(假设所有数据点都存储在同一个主题中)是让批处理获取主题中的所有消息,然后忽略那些对应于会话的那些还没有完成。
所以,我想问的是:
- 这是实现 Lambda 架构的好方法吗?还是应该改用 Haddop 和 Storm?(我找不到有关使用 Kafka 和 Apache Spark 进行批处理、Map Reduce 的人的信息)
- 有没有更好的方法来解决用户会话问题?
谢谢。