Kafka作为存储系统可以是长期数据的数据存储。它可以毫无问题地复制和分发。那么我可以从Kafka中的所有历史数据创建RDD并创建批处理视图,然后将其与Spark Streaming Views结合使用吗?
答案 0 :(得分:1)
tl; dr是的,但为什么?
前身为Twitter和Lambda架构作者的Nathan Marz表示,这些是批量图层中主数据集的存储要求:
Kafka满足所有这些要求,因此从技术上讲,它确实可以将主数据集存储在批处理层中。
然而,由Jay Kreps(以前的LinkedIn)设计的Kappa Architecture比Lambda架构更容易使用 - 我认为更有效地满足像物联网这样的现代用例。实现这一目标所需要的只是分布式,可扩展,不可变,可配置的流,这正是Kafka提供的。那么为什么不这样做呢?
在Lambda架构的批处理层中使用Kafka进行数据存储是为了充分利用其功能 - 其唯一目的是将其强制为一种实际上效率较低的架构。