数据分析流程中的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就很好的做到了这一点。
  • 元数据管理:数据湖中的数据又多又杂,如果没有元数据管理,很容易变成数据沼泽,也就是数据垃圾。
相关推荐
xx155802862xx2 小时前
hive聚合函数多行合并
数据仓库·hive·hadoop
北漂老男孩4 小时前
Hadoop HDFS 体系结构与文件读写流程剖析
大数据·hadoop·hdfs·学习方法
安审若无7 小时前
Hive的存储格式如何优化?
数据仓库·hive·hadoop
北漂老男孩1 天前
Hadoop 大数据启蒙:初识 HDFS
大数据·hadoop·hdfs
技术吧1 天前
Spark-TTS: AI语音合成的“变声大师“
大数据·人工智能·spark
北漂老男孩1 天前
Hadoop 大数据启蒙:深入解析分布式基石 HDFS
大数据·hadoop·分布式·hdfs·学习方法
weixin_472339462 天前
Hive SQL优化实践:提升大数据处理效率的关键策略
hive·hadoop·sql
安审若无3 天前
Hive的数据倾斜是什么?
数据仓库·hive·hadoop
永远在减肥永远110的的小潘4 天前
通过HIVE SQL获取每个用户的最大连续登录时常
hive·hadoop·sql
jiuweiC4 天前
hive 笔记
hive·hadoop·笔记