当前位置: 首页 > news >正文

数据湖治理最佳实践

如果没有最佳实践,存储可能会变得无法维护。自动化数据质量、生命周期和隐私功能可持续清理/移动数据湖中的数据。

数据湖正成为企业从大数据中提取价值的一种日益可行的解决方案,对于早期采用者和新用户来说都是合理的下一步。在独立的逻辑区域中随时可用的结构化、非结构化和历史数据所具备的灵活性、敏捷性和安全性,为企业带来了大量变革性能力。然而,许多潜在用户未能理解的是,可用的数据湖是如何定义的。通常,大数据新手,甚至经验丰富的 Hadoop 老手,都会尝试搭建一些集群,并使用不同的脚本、工具和第三方供应商将它们拼凑在一起;这既不经济高效也不可持续。在本文中,我们将阐述数据湖远不止是几台服务器的简单拼凑:构建一个有效的数据湖需要规划、规范和治理。

区域

在数据湖中,区域允许对数据进行逻辑和 / 或物理分离,从而使环境安全、有序且敏捷。通常,鼓励使用 3 到 4 个区域,但也可以采用更少或更多的区域。一个通用的 4 区域系统可能包括以下内容:

  • 临时区域 —— 用于存放临时数据,如临时副本、流式暂存数据或其他在被摄取之前的短期数据。
  • 原始区域 —— 原始数据将在此区域中保存。这也是敏感数据必须进行加密、标记化或其他安全处理的区域。
  • 可信区域 —— 在对原始区域中的数据进行数据质量检查、验证或其他处理后,该区域的数据就成为下游系统的 “事实来源”。
  • 精炼区域 —— 经过处理和丰富的数据保存在此区域。这用于存储 Hive 等工具或写入数据湖的外部工具的输出结果。

这种安排可根据企业的规模、成熟度和独特用例进行调整,但会通过专用服务器 / 集群实现物理分离,通过精心构建目录和访问权限实现逻辑分离,或者两者结合使用。从视觉上看,这种架构类似于如下所示。
请添加图片描述
建立和维护定义明确的区域是创建健康数据湖的最重要活动,并有助于本文中其他概念的定义。同时,重要的是要明白区域不能提供什么 —— 即区域并非灾难恢复或数据冗余策略。尽管在灾难恢复中可能会考虑分区域,但建设可靠的基础架构以确保冗余和弹性仍然很重要。

血缘关系

随着新数据源的添加以及现有数据源的更新或修改,维护数据集内部和之间关系的记录变得愈发重要。这些关系可能像列的重命名一样简单,也可能像连接来自不同来源的多个表一样复杂,而每个表本身可能又有多个上游转换。在这种情况下,血缘关系有助于提供可追溯性以了解字段或数据集的来源,并提供审计跟踪以了解更改发生的位置、时间和原因。这听起来可能很简单,但即使使用当今部署的一些专用软件,在数据流经数据湖时捕获其详细信息也极其困难。跟踪血缘关系的整个过程涉及在事务级别(谁访问了数据以及他们做了什么?)和结构或文件系统级别(数据集和字段之间的关系是什么?)汇总日志。在数据湖的背景下,这将包括任何接触数据的批处理和流式工具(如 MapReduce 和 Spark),以及任何可能操作数据的外部系统,如关系数据库管理系统。这是一项艰巨的任务,但即使是部分血缘关系图也能填补传统系统的空白,尤其是随着《通用数据保护条例》(GDPR)等新法规的出现;灵活性和可扩展性是应对未来变化的关键。

数据质量

在数据湖中,所有数据都可被接纳,但并非所有数据都同等重要。因此,定义数据的来源以及如何管理和使用数据至关重要。对于需要合规性、大量终端用户使用或可审计性的数据,可能需要应用严格的清洗和数据质量规则。另一方面,清洗社交媒体数据或来自各种物联网设备的数据可能收效甚微。也可以考虑在使用端而非获取端应用数据质量检查。因此,单一的数据质量架构可能并不适用于所有类型的数据。必须注意,如果对数据进行 “清洗”,用于分析的结果可能会受到影响。修复数据集中值的字段级数据质量规则可能会影响预测模型的结果,因为这些修复可能会影响异常值。在这种情况下,通过比较 “数据集的预期与实际大小” 或 “空值阈值” 来衡量数据集可用性的数据质量规则可能更合适。通常,所需验证的级别受现有遗留限制或内部流程的影响,因此在制定新规则之前评估公司的现有流程是个好办法。

隐私 / 安全

健康数据湖的一个关键组成部分是隐私和安全,包括基于角色的访问控制、身份验证、授权以及静态和动态数据加密等主题。从纯粹的数据湖和数据管理角度来看,主要主题往往是数据混淆,包括数据标记化和屏蔽。这两个概念应用于帮助数据本身遵循最小权限的安全概念。限制数据访问对许多寻求遵守其行业的国家和国际法规的企业也有法律影响。限制访问有多种形式;最明显的是在存储层大量使用区域。简而言之,可以配置存储层的权限,使得对最原始格式数据的访问极为有限。随着数据随后通过标记化和屏蔽(即隐藏个人可识别信息数据)进行转换,对后续区域数据的访问可以扩展到更大的用户群体。

数据生命周期管理(DLM)

企业必须努力将数据管理策略的重点放在更有效地保护、保存和服务其数字资产上。这涉及投入时间和资源来全面制定生命周期管理策略,并确定是使用扁平结构还是利用分层保护。传统的数据生命周期管理前提是基于数据被创建、使用然后归档的事实。如今,对于某些事务性数据,这一前提可能仍然适用,但现在许多数据源从读取角度来看仍然处于活动状态,无论是持续的还是在可半预测的时间间隔内。了解并理解其信息、数据和存储介质之间的异同,并能够利用这种理解来最大限度地利用不同存储层级的企业,可以在降低复杂性和成本的同时释放价值。

总结

就像关系数据库在其发展初期一样,近年来 Hadoop 的一些应用也因缺乏最佳实践而受到困扰。在考虑将 Hadoop 用作数据湖时,有许多最佳实践需要考虑。将区域和适当的授权作为数据工作流框架的一部分,可为数据转换提供高度可扩展且并行的系统。
个人拙见,欢迎留下评论一起讨论!

相关文章:

数据湖治理最佳实践

如果没有最佳实践,存储可能会变得无法维护。自动化数据质量、生命周期和隐私功能可持续清理/移动数据湖中的数据。数据湖正成为企业从大数据中提取价值的一种日益可行的解决方案,对于早期采用者和新用户来说都是合理的下一步。在独立的逻辑区域中随时可用…...

基于php求职招聘系统设计

摘要 随着社会信息化时代的到来,如今人们社会的生活节奏普遍加快,人们对于工作效率的要求也越来越高,企业 举办招聘会耗时耗财,个人参加招聘会漫无目的寻找不到“方向”,网络搜索工作量目的性不强,信息量繁…...

ensp实验-vrrp多网关配置

一、交换机与路由的配置区别 1. 角色定义交换机: Master 或 Backup: 交换机通常作为 Master 或 Backup 设备参与 VRRP,负责在主设备故障时接替其工作。路由器: Master 或 Backup: 路由器同样可以作为 Master 或 Backup 设备…...

Ajax--实现检测用户名是否存在功能

目录 (一)什么是Ajax (二)同步交互与异步交互 (三)AJAX常见应用情景 (四)AJAX的优缺点 (五)使用jQuery实现AJAX 1.使用JQuery中的ajax方法实现步骤&#xf…...

【代码pycharm】动手学深度学习v2-09 Softmax 回归 + 损失函数 + 图片分类数据集

课程链接 1.读取图像分类数据集 import matplotlib.pyplot as plt import torch import torchvision from torch.utils import data from torchvision import transforms from d2l import torch as d2l d2l.use_svg_display() #读取数据集 transtransforms.ToTensor() mnist_…...

设计模式:24、访问者模式

目录 0、定义 1、访问者模式的五种角色 2、访问者模式的UML类图 3、示例代码 0、定义 表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下,定义作用于这些元素的新操作。 1、访问者模式的五种角色 抽象元素(Element…...

基于JAVA的旅游网站系统设计

摘要 随着信息技术和网络技术的迅速发展,人们的生活质量和观念也在发生着改变,各地争相发展旅游业,传统的 旅游社已经无法满足人们的需求,旅游网站将突破传统在时间和地域的限制,成为方便、快捷、安全、可靠的旅游 方…...

网络安全产品之认识防火墙

防火墙是一种网络安全产品,它设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间,通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来…...

nginx反向代理(负载均衡)和tomcat介绍

nginx的代理 负载均衡 负载均衡的算法 负载均衡的架构 基于ip的七层代理 upstream模块要写在http模块中 七层代理的调用要写在location模块中 轮询 加权轮询 最小连接数 ip_Hash URL_HASH 基于域名的七层代理 配置主机 给其余客户机配置域名 给所有机器做域名映射 四层代理…...

Microsoft Azure 在线技术公开课:生成式 AI 基础知识

课程介绍 参加我们的生成式 AI 基础知识公开课,了解如何将最新 AI 进展应用到你的工作中。你将了解有关语言模型和生成式 AI 应用程序的基础知识。此外,你还将了解 Azure OpenAI 服务如何通过文本、代码、图像生成、自然语言摘要和语义搜索助你实现成果…...

lnmp+discuz论坛 附实验:搭建discuz论坛

Inmpdiscuz论坛 Inmp: t: linux操作系统 nr: nginx前端页面 me: mysql数据库 账号密码,等等都是保存在这个数据库里面 p: php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请求转发到数据库 n…...

谷粒商城—分布式高级①.md

1. ELASTICSEARCH 1、安装elastic search dokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2(2)配置 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "h…...

Unity开发配置不足,卡顿崩溃怎么办?

在游戏开发和虚拟现实等领域,Unity 软件以其强大的功能和广泛的适用性成为了众多开发者的首选。然而,要充分发挥 Unity 的性能,一台高性能的电脑设备是必不可少的。今天,我要向大家介绍川翔云电脑,它为 Unity 开发者提…...

在 Linux 上以 All-in-One 模式安装 kubernetes v1.22.12 kubesphere v3.4.1

KubeSphere4.1安装文档 在 Kubernetes 上快速安装 KubeSphere 在 Linux 上以 All-in-One 模式安装 kubernetes v1.22.12 kubesphere v3.4.1 官方文档:在 Linux 上以 All-in-One 模式安装 KubeSphere 下载文件 KubeKey git地址Releases kubesphere/kubekey 或 …...

网络安全自学是一项需要耐心和恒心的任务

网络安全自学是一项需要耐心和恒心的任务,但只要你按照正确的学习路线图去努力,就能够逐步掌握这一领域的知识和技能。下面是一份详细的学习路线图,它将帮助你从零基础开始,逐步成为网络安全领域的专家。 第一阶段:基…...

Python+OpenCV系列:图像的几何变换

Python OpenCV 系列:图像的几何变换 引言 在图像处理领域,几何变换是一个非常重要的操作,它可以改变图像的位置、大小、方向或形状。在计算机视觉中,这些操作对于图像预处理、特征提取和图像增强至关重要。本文将介绍如何利用 …...

第P1周:Pytorch实现mnist手写数字识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 1. 实现pytorch环境配置 2. 实现mnist手写数字识别 3. 自己写几个数字识别试试具体实现 (一)环境 语言环境:Python…...

使用EventLog Analyzer进行Apache日志监控和日志分析

一、什么是Apache日志分析 Apache日志分析是网站管理和维护的重要部分,通过分析Apache服务器生成的日志文件,可以了解网站的访问情况、识别潜在的安全问题、优化网站性能等。 二、Apache日志类型 Apache日志主要有两种类型:访问日志&a…...

PaddleOCR模型ch_PP-OCRv3文本检测模型研究(二)颈部网络

上节研究了PaddleOCR文本检测v3模型的骨干网,本文接着研究其颈部网络。 文章目录 研究起点残注层颈部网络代码实验小结 研究起点 摘取开源yml配置文件,摘取网络架构Architecture中颈部网络的配置如下 Neck:name: RSEFPNout_channels: 96shortcut: True可…...

360极速浏览器不支持看PDF

360安全浏览器采用的是基于IE内核和Chrome内核的双核浏览器。360极速浏览器是源自Chromium开源项目的浏览器,不但完美融合了IE内核引擎,而且实现了双核引擎的无缝切换。因此在速度上,360极速浏览器的极速体验感更佳。 展示自己的时候要在有优…...

【深度学习】深刻理解ViT

ViT(Vision Transformer)是谷歌研究团队于2020年提出的一种新型图像识别模型,首次将Transformer架构成功应用于计算机视觉任务中。Transformer最初应用于自然语言处理(如BERT和GPT),而ViT展示了其在视觉任务…...

解决vue2中更新列表数据,页面dom没有重新渲染的问题

在 Vue 2 中,直接修改数组的某个项可能不会触发视图的更新。这是因为 Vue 不能检测到数组的索引变化或对象属性的直接赋值。为了确保 Vue 能够正确地响应数据变化,你可以使用以下几种方法: 1. 使用 Vue.set() 使用 Vue.set() 方法可以确保 …...

vscode通过ssh连接远程服务器(实习心得)

一、连接ssh服务器 1.打开Visual Studio Code,进入拓展市场(CtrlShiftX),下载拓展Remote - SSH 2. 点击远程资源管理器选项卡,并选择远程(隧道/SSH)类别 3. 点击ssh配置:输入你的账号主机ip地址 4.在弹出的选择配置文件中&#xf…...

知识图谱9:知识图谱的展示

1、知识图谱的展示有很多工具 Neo4j Browser - - - - 浏览器版本 Neo4j Desktop - - - - 桌面版本 graphX - - - - 可以集成到Neo4j Desktop Neo4j 提供的 Neo4j Bloom 是用户友好的可视化工具,适合非技术用户直观地浏览图数据。Cypher 是其核心查询语言&#x…...

leetcode 面试经典 150 题:验证回文串

链接验证回文串题序号125类型字符串解题方法双指针法难度简单 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xf…...

【0363】Postgres内核 从 XLogReaderState readBuf 解析 XLOG Record( 8 )

上一篇: 【0362】Postgres内核 XLogReaderState readBuf 有完整 XLOG page header 信息 ? ( 7 ) 直接相关: 【0341】Postgres内核 读取单个 xlog page (2 - 2 ) 文章目录 1. readBuf 获取 page header 大小1.1 XLOG record 跨 page ?1.2 获取 XLOG Record 的 长度(xl…...

docker tdengine windows快速体验

#拉取镜像 docker pull tdengine/tdengine:2.6.0.34#容器运行 docker run -d --name td2.6 --restartalways -p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6044-6049:6044-6049 -p 6044-6045:6044-6045/udp -p 6060:6060 tdengine/tdengine:2.6.0.34#容器数据持久化到本地 #/va…...

详解RabbitMQ在Ubuntu上的安装

​​​​​​​ 目录 Ubuntu 环境安装 安装Erlang 查看Erlang版本 退出命令 ​编辑安装RabbitMQ 确认安装结果 安装RabbitMQ管理界面 启动服务 查看服务状态 通过IP:port访问 添加管理员用户 给用户添加权限 再次访问 Ubuntu 环境安装 安装Erlang RabbitMq需要…...

Python的3D可视化库【vedo】2-2 (plotter模块) 访问绘制器信息、操作渲染器

文章目录 4 Plotter类的方法4.1 访问Plotter信息4.1.1 实例信息4.1.2 演员对象列表 4.2 渲染器操作4.2.1 选择渲染器4.2.2 更新渲染场景 4.3 控制渲染效果4.3.1 渲染窗格的背景色4.3.2 深度剥离效果4.3.3 隐藏线框的线条4.3.4 改为平行投影模式4.3.5 添加阴影4.3.6 环境光遮蔽4…...

【vue2】文本自动省略组件,支持单行和多行省略,超出显示tooltip

代码见文末 vue3实现 最开始就用的vue3实现,如下 Vue3实现方式 vue2开发和使用文档 组件功能 TooltipText 是一个文字展示组件,具有以下功能: 文本显示:支持单行和多行文本显示。自动判断溢出:判断文本是否溢出…...

上海网站建设公司排名/杭州seo公司

1.进入到C:\Users\dell\.ssh 右键打开Git Bash Here 2.ssh-key -t rsa 然后直接点击 enter enter enter 3.查看id_rsa.pub上传公钥到服务器 输入 cat id_rsa.pub 然后从ssh-rsa 全部复制,到服务器上,就可以使用git ssh转载于:https://www.cnblogs.…...

做美食网站需求分析报告/网站建设网络营销

1、 boot分区 大小:一般300Mb左右 作用:引导分区,包含了系统启动的必要内核文件,即使根分区损坏也能正常引导启动,一般这些文件所占空间在200M以内。 分区建议:分区的时候可选100M-500M之间,如果空间足够…...

打赏网站怎么建设/优化排名

我们打开一个百度贴吧的帖子然后查看源码Paste_Image.png首先我们先拿到帖子的标题,通过查看源码,我们发现,他的标题的html为:纯原创我心中的NBA2014-2015赛季现役50大我们需要中间的标题怎么搞呢?肯定用正则&#xff…...

iis7添加php网站/灰色词排名代做

一 组合概念 一个类的对象作为另外一个类对象的属性第一个例子: 2 class Weapon:3 def prick(self, obj): # 这是该装备的主动技能,扎死对方4 obj.life_value - 500 # 假设攻击力是5005 6 class Person: # 定义一个人类7 role person # 人的角…...

东莞网站建设设计公司/十大品牌营销策划公司

2019独角兽企业重金招聘Python工程师标准>>> 其实想做聚焦时提示文字不消失,光标在提示语前面,就像正常的placeholder属性,但是setSelectionRance()方法不是很好用,后面学习之后再制作 <script type"text/javascript"> (function($,win,do…...

怎么看网站是什么语言做的后台/长沙关键词优化公司电话

作者&#xff1a;Mazin https://my.oschina.net/u/3441184/blog/893628 这样的情景可能不常见&#xff0c;但是还是会有的&#xff0c;一旦遇到&#xff0c;如果业务比较复杂&#xff0c;就会很麻烦&#xff0c;但是还是有解决的方案的&#xff0c;比如将一个service方法拆成两…...