数据分析流程中的Lambda架构,以及数据湖基于Hadoop、Spark的实现

文章目录


一、Lambda架构

1、Lambda的三层架构

Batch View(批处理视图层)
Speed Layer(速度层)(实时处理层)
Serving Layer(服务层)

2、简单解释:

  • 1、批处理视图层:负责处理大量的历史数据,生成批处理视图,这个视图通常是基于固定时间间隔(如每天、每小时)对数据进行处理得到的,也就是离线分析的部分
  • 2、速度层:处理实时数据,对最新的数据进行增量计算,补充批处理层的结果
  • 3、服务层:用于合并批处理层和速度层的结果,并将最终的结果提供给用户或其他应用程序(比如MySQL)

总结下来,Lambda架构就是下面三个等式:

bash 复制代码
# function 就是作用在数据集上的函数
batch view = function(all data)
# 其中参数中的 realtime view 就是不断的对以后的 realtime view 进行迭代更新,知道被 batch view 追上丢弃
realtime view = function(realtime view,new data)
# 服务层就是对 批处理视图 和 实时处理层 的结果进行动态合并
serving layer = function(batch view + realtime view)

3、Lambda架构的优缺点

优点:

  • 成熟稳定、实时计算成本可控、批处理利用了系统空闲时间、将离线和实时分析高峰错开来

缺点:

  • 实时和批处理结果不一致、批量计算无法在有限时间内完成、开发维护困难、中间数据的产生会导致服务器存储开销大

二、数据湖基于Hadoop、Spark的实现

1、架构

其中HDFS实现了海量数据存储,Spark、MR、Flink等实现了海量数据分析

所以说,Hadoop生态本质上就是数据湖最合适的实现方案

针对某个业务搭建的数仓可视化平台的架构和这个数据湖架构几乎一样,但是区别就在于数据来源(数仓可视化平台是经过修饰的数据,而数据湖是未被修饰的数据)

2、数据管理(存储层的辅助功能)

  • 数据安全:数据湖中的数据要保证其安全性
  • 审计:对数据进行全面的审查和分析,以确定数据是否符合特定的标准和要求,目前大多数做法就是开启NameNode的审计日志,读取并导入其他日志处理框架中。但是读取NameNode的审计日志比较难,而Delta Lake就很好的做到了这一点。
  • 元数据管理:数据湖中的数据又多又杂,如果没有元数据管理,很容易变成数据沼泽,也就是数据垃圾。
相关推荐
想ai抽2 小时前
大数据计算引擎-从源码看Spark AQE对于倾斜的处理
大数据·数据仓库·spark
菜鸡儿齐12 小时前
spark组件-spark core(批处理)-rdd创建
大数据·分布式·spark
B站_计算机毕业设计之家1 天前
python股票交易数据管理系统 金融数据 分析可视化 Django框架 爬虫技术 大数据技术 Hadoop spark(源码)✅
大数据·hadoop·python·金融·spark·股票·推荐算法
想ai抽1 天前
Spark的shuffle类型与对比
大数据·数据仓库·spark
随心............1 天前
sqoop采集完成后导致hdfs数据与Oracle数据量不符的问题。怎么解决?
hive·hadoop·sqoop
阿里云大数据AI技术2 天前
从“开源开放”走向“高效智能”:阿里云 EMR 年度重磅发布
spark
随心............2 天前
yarn面试题
大数据·hive·spark
ZHOU_WUYI2 天前
Apache Spark 集群部署与使用指南
大数据·spark·apache
Aurora_eye2 天前
记录之Ubuntu22.4虚拟机及hadoop为分布式安装
大数据·hadoop·分布式