论大数据Lambda架构
大数据处理架构是专门用于处理和分析巨量复杂数据集的软件架构。它通常包括数据收集、存储、处理、分析和可视化等多个层面,旨在从海量、多样化的数据中提取有价值的信息。Lambda架构是大数据平台里最成熟、最稳定的架构,它是一种将批处理和流处理结合起来的大数据处理系统架构,其核心思想是将批处理作业和实时流处理作业分离,各自独立运行,资源互相隔离,解决传统批处理架构的延迟问题和流处理架构的准确性问题。
请围绕“大数据处理架构及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.Lambda体系结构将数据流分为三个层次:批处理层(batch layer)、加速层(speed layer)和服务层(serving layer),请简要分析这三个层次的特性和用途。
3.具体阐述你参与管理和开发的项目是如何基于Lambda架构实现大数据处理的。
Lambda 架构可分解为三层,即批处理层、加速层和服务层。
(1)批处理层(Batch Layer):存储数据集,Batch Layer 在数据集上预先计算查询函数,并构建查询所对应的 View。Batch Layer 可以很好地处理离线数据,但有很多场景数据是不断实时生成且需要实时查询处理,对于这种情况,Speed Layer 更为适合。
(2)加速层(Speed Layer):Batch Layer 处理的是全体数据集,而 Speed Layer 处理的是最近的增量数据流。Speed Layer 为了效率,在接收到新的数据后会不断更新 Real-time View,而Batch Layer 是根据全体离线数据集直接得到 Batch Vicw。
(3)服务层(Serving Layer):Serving Layer 用于合并 Batch View 和 Real-time View 中的结果数据集到最终数据集。
Lambda架构优缺点
1、优点
(1)容错性好。Lambda 架构为大数据系统提供了更友好的容错能力,一旦发生错误,我们可以修复算法或从头开始重新计算视图。
(2)查询灵活度高。批处理层允许针对任何数据进行临时查询。
(3)易伸缩。所有的批处理层、加速层和服务层都很容易扩展。因为它们都是完全分布式的系统,我们可以通过增加新机器来轻松地扩大规模。
(4)易扩展。添加视图是容易的,只是给主数据集添加几个新的函数。
2、缺点
(1)全场景覆盖带来的编码开销。
(2)针对具体场景重新离线训练一遍益处不大。
(3)重新部署和迁移成本很高。