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

文章目录

  • 一、Lambda架构
    • 1、Lambda的三层架构
    • 2、简单解释:
    • 3、Lambda架构的优缺点
  • 二、数据湖基于Hadoop、Spark的实现
    • 1、架构
    • 2、数据管理(存储层的辅助功能)


一、Lambda架构

1、Lambda的三层架构

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

2、简单解释:

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

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

# 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就很好的做到了这一点。
  • 元数据管理:数据湖中的数据又多又杂,如果没有元数据管理,很容易变成数据沼泽,也就是数据垃圾。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927661.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本)

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) code review! 参考笔记 1.ROS基本框架1——编写简单的发布者和订阅者(C++和Python版本) 2.ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) 文章目录 ROS基本框架2——在ROS开发中创建并使用自定义…

【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程

文章目录 【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程前言一 、docker上部署mysql1. 拉取mysql镜像2. 创建容器3. 远程登录mysql 二 、docker上部署nginx1. 拉取nginx镜像2. 在dockerTar目录下 上传nginx.tar rz命令3. 创建nginx容器4…

Matlab模块From Workspace使用数据类型说明

Matlab原文连接:Load Data Using the From Workspace Block 模型: 从信号来源的数据: timeseries 数据: sampleTime 0.01; numSteps 1001;time sampleTime*[0:(numSteps-1)]; time time;data sin(2*pi/3*time);simin time…

【计算机网络】实验7:默认路由和特定主机路由以及路由环路问题

实验 7:默认路由和特定主机路由以及路由环路问题 一、 实验目的 了解默认路由以及特定主机路由。 了解静态路由配置错误导致的路由环路问题。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、默认路由以及特定主机路由 (1) 第一步&#xff…

kube-proxy的iptables工作模式分析

系列文章目录 iptables基础知识 文章目录 系列文章目录前言一、kube-proxy介绍1、kube-proxy三种工作模式2、iptables中k8s相关的链 二、kube-proxy的iptables模式剖析1.集群内部通过clusterIP访问到pod的流程1.1.流程分析 2.从外部访问内部service clusterIP后端pod的流程2.1…

学习ASP.NET Core的身份认证(基于Session的身份认证3)

开源博客项目Blog中提供了另一种访问控制方式,其基于自定义类及函数的特性类控制访问权限。本文学习并测试开源博客项目Blog的访问控制方式,测试程序中直接复用开源博客项目Blog中的相关类及接口定义,并在其上调整判断逻辑。   首先是接口A…

HTML前端开发-- Flex布局详解及实战

引言 Flex布局,全称为Flexible Box Layout,是一种现代CSS布局技术,它提供了一种更有效的方式来设计响应式布局和复杂页面布局。本文将详细介绍Flex布局的基本概念、属性以及实战应用。 一、基本概念 Flex布局的核心是Flex容器(…

ESG研究报告白皮书与ESG治理报告合集(2020-2023年)

一.资料范围:(1)ESG白皮书及指南;(2)ESG研究报告,(3)ESG治理报告分析(4)上市公司ESG报告(知名企业) 二、资料用途:可以分析研究企业E…

C/C++每日一练:合并K个有序链表

本篇博客将探讨如何 “合并K个有序链表” 这一经典问题。本文将从题目要求、解题思路、过程解析和相关知识点逐步展开,同时提供详细注释的代码示例。 链表(Linked List) 链表是一种线性数据结构,由一系列节点(Node&…

计算机网络复习1——导言和概论

网络简史 1946年,美国物理学家莫奇利任总设计师研制成功世界上第一台电子管计算机ENIAC(这标志着人类自学会使用工具的漫长岁月中,终于拥有了可以替代人类脑力劳动的“工具”) 1969年9月2日,以雷克雷洛克为首的约20名…

详解桥接模式

引言 在开发过程中,可能会遇到系统设计有多种维度变化的情况,比如我们想画一幅五彩斑斓的画,需要用到12个颜色,但是需要粗细不同的线条(粗、中、细),如果用蜡笔,就需要粗中细三种蜡笔…

MySQL笔记-启动时log报错Table ‘mysql.user‘ doesn‘t exist

安装好mysql后,正常使用(使用的是rpm版安装的) service mysqld start | stop | restart 不会出现这个问题。 我遇到的情况是在凝思操作系统上,已经存在了一个mysql。网上查找了一些资料,卸载,后可能卸载…

【SpringBoot+Vue】x-admin管理系统跟做

技术栈 前端技术说明Vue前端框架Vuex全局状态管理框架ElementUI前端UI框架Axios前端HTTP框架vue-element-admin项目脚手架 后端技术说明SpringBoot容器MVC框架MyBatisORM框架MyBatis-plusMyBatis增强工具Redis非关系型数据库 数据库准备 SET NAMES utf8mb4; SET FOREIGN_KE…

AI智算-正式上架GPU资源监控概览 Grafana Dashboard

下载链接 https://grafana.com/grafana/dashboards/22424-ai-gpu-20241127/

异步处理优化:多线程线程池与消息队列的选择与应用

目录 一、异步处理方式引入 (一)异步业务识别 (二)明确异步处理方式 二、多线程线程池(Thread Pool) (一)工作原理 (二)直面优缺点和适用场景 1.需要快…

用到动态库的程序运行过程

当我们写好了一段代码然后编译运行后会生成可执行文件,该文件会存在磁盘的当前目录下,而当我们开始运行这段程序时,操作系统(加载器)需要将其从磁盘加载进内存然后执行相关操作,而对于用到动态库的程序&…

Windows使用多个JDK的方法

原文网址:Windows使用多个JDK的方法-CSDN博客 简介 本文介绍Windows如何使用多个JDK。 原先已经有了JDK8,现在想用JDK21。但有的项目依然是JDK8,所以两个JDK需要共存。 解决方案 第一步:改环境变量 右键此电脑> 属性>…

RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式

1、介绍 在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。…

《数字图像处理基础》学习07-图像几何变换之最近邻插值法放大图像

目录 一,概念 二,题目及matlab实现 1,解题思路 2,matlab实现 1)matlab思路 2)完整代码 三,放大图像及matlab实现 一,概念 通过上一篇,我已经学习了使用最邻近插…

LWIP和FATFS 实现 FTP 服务端

目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…