数据湖 Data Lake-概述

Data Lake

在这里插入图片描述

1. 数据湖的定义

数据湖是一种存储系统,用于集中存储大量的原始数据,可以按数据本来的原始格式进行存储,用户可以在需要时提取和分析这些数据。

在这里插入图片描述
A data lake is a centralized repository designed to hold vast volumes of data in its native, raw format — be it structured, semi-structured, or unstructured.

Data Lake不仅支持结构化数据(如关系数据库中的数据),还支持半结构化(如JSON、XML)和非结构化数据(如文本、图片、视频等)。
在这里插入图片描述


2. 数据湖的架构

(1)Data sources 数据源

在这里插入图片描述
In a data lake architecture, the data journey starts at the source.

  • 结构化数据:如关系数据库中的数据,通常以表格形式存储,便于处理和查询。常见的来源包括ERP系统、CRM系统等。

  • 半结构化数据:如JSON、XML等格式的数据,虽然没有严格的模式,但仍然包含一定的结构,便于解析。这类数据源通常来自于Web服务、社交媒体等。

  • 非结构化数据:如文本、图片、音频和视频文件等,这些数据没有固定格式,需要特定的技术进行处理和分析。来源包括文档管理系统、传感器数据等。

(2)Data ingestion 数据摄取

在这里插入图片描述
Data ingestion is the process of importing data into the data lake from various sources.数据摄取是将数据导入数据湖的过程。

  • 批处理:定期将数据从源系统批量导入数据湖,适用于数据变化频率较低的情况。这种方式可以在低峰时段进行,提高效率。

  • 实时摄取:通过流处理技术(如Apache Kafka)实时收集数据,适用于需要即时分析的场景,如金融交易监控或社交媒体实时分析。

  • 数据预处理:在摄取过程中,可能会应用一些轻量级的转换,但数据通常保持原始格式。


(3) Data storage and processing 数据存储和处理

在这里插入图片描述

原始数据存储区 Raw data store section

  • 数据以原始格式存放,未经过任何清理或转化。
  • 使用存储解决方案如Hadoop HDFS、Amazon S3或Azure Blob Storage。

转化区 Transformation section

  • 数据经过多种处理,提升其质量。
    • 数据清理:去除或修正不准确的记录。
    • 数据增强:增加额外信息以提升价值。
    • 规范化:统一数据格式,确保一致性。
    • 结构化:将非结构化数据转化为结构化格式。

处理数据区 Processed data section

  • 可信数据可移动到精细或一致数据区。
  • 进一步转化以适应特定业务需求,供分析师和数据科学家使用,便于分析和机器学习。

(4)分析沙箱 Analytical sandboxes

在这里插入图片描述
分析沙箱是隔离的环境,确保实验活动不会干扰主数据存储。

用于数据探索和分析,提供一个不影响主数据流的实验环境,促进假设测试和模型开发,推动数据驱动的创新和敏捷分析文化。

  • 数据摄取
    • 原始数据:保留数据的原始上下文,便于进行初步的探索性分析。
    • 处理数据:经过清洗和转换的数据,适合用于更复杂的分析和机器学习模型。
  • 数据发现
    • 分析师和数据科学家在此阶段探索数据的结构、质量和潜在价值,通常通过描述性统计和数据可视化工具进行。
  • 机器学习与预测建模
    • 在对数据有充分理解后,应用机器学习算法创建预测或分类模型,使用如TensorFlow、PyTorch或Scikit-learn等库。
  • 探索性数据分析(EDA)
    • 通过统计图形和信息表分析变量之间的关系、模式或异常,无需事先假设。

(5) 数据消费 Data Consumption

数据消费层是将所有前期努力的成果展示给最终用户的地方。
在这里插入图片描述

  • 数据展示

    • 打磨过的、可靠的数据通过商业智能工具(如Tableau或Power BI)对外展现,便于用户分析和决策。
  • 角色参与

    • 数据分析师、商业分析师和决策者在此阶段利用处理过的数据驱动业务决策,提供关键洞察。

(6) 交叉治理、安全和监控层(Crosscutting Governance, Security, and Monitoring Layer)

在这里插入图片描述
这一层贯穿整个数据流,是确保数据湖有效性和安全性的基础.

  • 治理

    • 确立并执行数据访问、质量和可用性的规则和政策,确保信息一致性和责任使用。工具如Apache Atlas和Collibra可用于实现数据治理。
  • 安全性

    • 实施安全协议防止未经授权的数据访问,确保遵守数据保护法规。可以集成如Varonis或McAfee等解决方案。
  • 监控和ELT流程

    • 负责监督数据从原始形式到可用格式的流转,使用Talend或Apache NiFi等工具来优化流程并维持性能标准。
  • 数据管理与监护

    • 由专门团队或指定的数据所有者进行,使用Alation或Waterline Data等平台追踪数据的增改删,管理元数据。

5. 数据湖与数据仓库的比较

在这里插入图片描述

  1. 数据处理
    • 数据湖:支持多种数据类型(结构化、半结构化、非结构化),存储原始数据。
    • 数据仓库:主要处理结构化数据,经过严格的清洗和处理。

在这里插入图片描述

  1. 存储

    • 数据湖:设计为低成本存储,适合处理海量数据。
    • 数据仓库:存储成本相对较高,适合经过处理的数据。
  2. 灵活性(敏捷性)

    • 数据湖:高度灵活,可随时配置和重新配置。
    • 数据仓库:较为固定,调整配置较为复杂。

在这里插入图片描述

  1. 安全性

    • 数据湖:安全机制仍在完善中,治理相对较新。
    • 数据仓库:安全性和治理措施较为成熟且规范。
  2. 用户

    • 数据湖:主要面向数据科学家和分析师,支持探索性分析。
    • 数据仓库:主要服务于业务专业人士,提供稳定的报表和分析。
  3. 模式

    • 数据湖:采用“读取时模式”(schema-on-read),在数据读取时定义结构。
    • 数据仓库:采用“写入时模式”(schema-on-write),在数据写入时定义结构。
      在这里插入图片描述

在这里插入图片描述

仅供学习使用哈~

整理不易,一键三连呀列位彦祖😂

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kotlin的密封类

引言 密封类是一种特殊的类,它用来表示受限的类继承结构,即一个类只能有有限的几种子类,而不能有任何其他类型的子类。 这不就是JAVA的枚举么。 概念 密封类使用sealed关键字声明, 在Kotlin 1.0中,密封类的所有子…

OpenCV特征检测(4)检测图像中的角点函数cornerHarris()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 Harris 角点检测器。 该函数在图像上运行 Harris 角点检测器。类似于 cornerMinEigenVal 和 cornerEigenValsAndVecs,对于每个像素 (…

如何将生物序列tokenization为token?

原理讲解 tokenization是自然语言处理领域非常成熟的一项技术,tokenization就是把我们研究的语言转换成计算机能够识别的数字——token。 在生物领域,如何把核苷酸或氨基酸序列tokenization成token呢? 我们可以使用k-mer技术: k-m…

网络设备登录——《路由与交换技术》实验报告

目录 一、实验目的 二、实验设备和环境 三、实验记录 1.通过 Console 登录 步骤1:连接配置电缆。 步骤2:启动PC,运行超级终端。 步骤3:进入Console 配置界面 2.通过 Telnet 登录 步骤1:通过 Console 接口配置 Telnet 用户。 步骤2:配置 super 口令 步骤3:配置登录欢迎…

C++——求3*3矩阵对角元素之和。

没注释的源代码 #include <iostream> using namespace std; int main() { int a[3][3],i,j,sum0; cout<<"请输入a组中的元素:"<<endl; for(i0;i<2;i) { for(j0;j<2;j) { cin>>a[i][j]…

神经网络构建原理(以MINIST为例)

神经网络构建原理(以MINIST为例) 在 MNIST 手写数字识别任务中&#xff0c;构建神经网络并训练模型来进行分类是经典的深度学习应用。MNIST 数据集包含 28x28 像素的手写数字图像&#xff08;0-9&#xff09;&#xff0c;任务是构建一个神经网络&#xff0c;能够根据输入的图像…

吉首大学--23级题目讲解

7-1 单链表基本操作 在 C/C 中&#xff0c;.&#xff08;点&#xff09;和 ->&#xff08;箭头&#xff09;运算符用于访问结构体或类的成员&#xff0c;但它们的使用场景不同。 1. . 运算符 . 运算符用于访问结构体或类的成员&#xff0c;通过对象或结构体变量直接访问。…

JS函数部分

函数调用 无参数 var fun function() {console.log(被调用) //不区分单引号双引号}fun () //有无分号都可有参数 var fun function(a, b) {var sum abconsole.log(sum) }fun (10,20) 立即执行函数 被定义完立即调用&#xff0c;且执行一次 (function (){alert(ni);})()创建…

es的封装

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、类和接口介绍0.封装思想1.es的操作分类 二、创建索引1.成员变量2.构造函数2.添加字段3.发送请求4.创建索引总体代码 三.插入数据四.删除数据五.查询数据 前…

Element Plus 中Input输入框

通过鼠标或键盘输入字符 input为受控组件&#xff0c;他总会显示Vue绑定值&#xff0c;正常情况下&#xff0c;input的输入事件会正常被响应&#xff0c;他的处理程序应该更新组件的绑定值&#xff08;或使用v-model&#xff09;。否则&#xff0c;输入框的值将不会改变 不支…

windows环境下配置MySQL主从启动失败 查看data文件夹中.err发现报错unknown variable ‘log‐bin=mysql‐bin‘

文章目录 问题解决方法 问题 今天在windows环境下配置MySQL主从同步&#xff0c;在修改my.ini文件后发现MySQL启动失败了 打开my.ini检查参数发现没有问题 [mysqld] #开启二进制日志&#xff0c;记录了所有更改数据库数据的SQL语句 log‐bin mysql‐bin #设置服务id&#x…

梧桐数据库(WuTongDB):Volcano/Cascades 优化器框架简介

Volcano/Cascades 是现代关系数据库系统中使用的两种重要的查询优化器框架&#xff0c;它们用于将高层 SQL 查询转换为高效的执行计划。它们采用了一种基于规则的方式来探索各种可能的查询执行计划&#xff0c;目的是选择一个代价最小的计划。以下是对这两种框架的详细讲解&…

[数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别

重要说明&#xff1a;数据集里面有2/3是增强数据集&#xff0c;请仔细查看图片预览&#xff0c;确认符合要求在下载&#xff0c;分辨率均为640x640 数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件…

Python 二级考试

易错点 电脑基础知识 定义学生关系模式如下&#xff1a;Student &#xff08;S#&#xff0c; Sn&#xff0c; Ssex&#xff0c;class&#xff0c;monitorS#&#xff09;&#xff08;其属性分别为学号、学生名、性别、班级和班长学号&#xff09; 在关系模式中&#xff0c;如果…

全志A523 系统篇(一) 获取vmlinux

通过固件获取 longan/build/getvmlinux.sh ./getvmlinux.sh <aw-format-firmware> 其中<aw-format-firmware>为全志格式的包含vmlinux的固件 运行成功后&#xff0c;会在脚本目录下生成output目录&#xff0c;目录里面包含vmlinux.fex&#xff08;vmlinux的.ta…

python-SZ斐波那契数列/更相减损数

一&#xff1a;SZ斐波那契数列题目描述 你应该很熟悉斐波那契数列&#xff0c;不是吗&#xff1f;现在小理不知在哪里搞了个山寨版斐波拉契数列&#xff0c;如下公式&#xff1a; F(n) { $\ \ \ \ \ \ \ \ \ \ \ \ $ a,( n1) $\ \ \ \ \ \ \ \ \ \ \ \ $ b,( n2) $\ \ \ \ \ \ …

【优选算法之双指针】No.2--- 经典双指针算法(下)

文章目录 前言一、双指针示例&#xff1a;1.1 ⽔果成篮1.2 和为s的两个数字1.3 三数之和1.4 四数之和 二、双指针总结&#xff1a; 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到我的乱七八糟小星球&#x1f31d; &#x1f4cb;专…

git-fork操作指南

git-fork操作指南 1.fork github仓库2. clone fork仓库3. 分支修改4.与原始仓库保持修改同步4.1添加上游仓库4.2 拉取上游分支4.3 合并更改4.4 推送更改 参考&#xff1a; 有时候我们需要将github的项目fork到自己名下&#xff0c;然后修改并提交pull request&#xff0c;这里将…

安装黑群晖系统,并使用NAS公网助手访问教程(好文)

由于正版群晖系统的价格不菲&#xff0c;对于预算有限的用户来说&#xff0c;安装黑群晖系统成为了一个不错的选择&#xff08;如果您预算充足&#xff0c;建议选择白群晖&#xff09;。如您对宅系科技比较感兴趣&#xff0c;欢迎查看本文&#xff0c;将详细介绍如何安装黑群晖…

reg和wire的区别 HDL语言

文章目录 数据类型根本区别什么时候要定义wire小结 数据类型 HDL语言有三种数据类型&#xff1a;寄存器数据类型&#xff08;reg&#xff09;、线网数据类型&#xff08;wire&#xff09;、参数数据类型&#xff08;parameter&#xff09;。 根本区别 reg&#xff1a; 寄存器…