大数据Lambda架构概念及应用,Lambda Architecture 概念Mathan Marz的大作Big data: Principles and best practices of scalable real-time data systems介绍了Lambda Architecture的概念,用于在大数据架构中,如何让real-time与batch job更好地结合起来,以达成对大数据的实时处理。

大数据平台中包括批量计算的Batch Layer和实时计算的Speed Layer,通过在一套平台中将批计算和流计算整合在一起。
例如使用HadoopMapReduce、Spark进行批量数据的处理,使用ApacheStorm、Spark Streaming 进行实时数据的处理。

这种架构在一定程度上解决了不同计算类型的问题,但是带来的问题是框架太多,会导致平台复杂度过高、运维成功高等。
Lambda架构的主要思想就是将大数据系统构建为多个层次,如下图所示:

我们来梳理一下他们是如何分工协助的:
首先new data作为整个数据系统的数据源头,Batch Layer作为数据的批处理层次对原始数据进行加工与处理,并且将处理的数据结果的Batch View输入到Serving Layer。(这里对应的是全量数据)
Speed Layer对于实时增加的数据进行处理,生成对增量数据计算结果的Real-time View。(这里对应的是增量数据)
最终用户查询是通过Batch View与Real-time View相结合的形式将最终结果呈现出来。
基于Lambda架构,一旦数据通过Batch layer进入到Serving layer,在Real-time view中的相应结果就不再需要了。

来源:软件架构 今日头条

微信扫码关注公众号
获取更多考试热门资料