数据血缘深度透析

news2024/9/20 22:46:35

学习数据血缘也好几个月了,网上的资料也看了很多,有了一些自己的理解,所以归纳一下,分享 出来,欢迎批评指正!

数据血缘是什么?

我觉得刚开始学习数据血缘肯定会有这样一个问题。比较官方、比较标准的解释是

数据血缘,是指数据的全生命周期中,数据从产生、处理、加工、融合、流转到最终消亡,
数据之间自然形成一种关系。其记录了数据产生的链路关系,
这些关系与人类的血缘关系比较相似,所以被成为数据血缘关系。

img

上面的解释可能有的抽象,我举个简单的例子

INSERT INTO student
(id, name, school_name)
SELECT
	student_test.id,
	student_test.name,
	school.name
from student_test
global join school
on student_test.school_id = school.id;

从上面的代码中,我们可以理解出student表的数据来自于student_test和school表,其字段层面的上下

级别关联关系,即字段血缘关系如下

img

数据血缘能用来干啥

数据溯源

依托于数据血缘的可塑性特点,根据血缘中的数据链路关系,可实现指定数据的来源、去向的追溯,可帮助用户理解数据含义、在全流程上定位数据问题、进行数据关联影响分析等,解决多层复杂逻辑处理后的数据难以理解、难以应用、出现问题难以定位的问题。

举个例子

img

上面是一个较为复杂的字段血缘关系图,就不具体解释其业务含义。最后的is_predict_money_laundering

字段,是最后需要呈现的一个指标,通过字段血缘分析,可以很快速、高效得追溯出该字段与哪些字段相关联,

受哪些字段得影响,同时也可以帮助用户快速理解业务。

数据价值的评估

传统的数据价值评估,往往完全依靠相关法规要求和业务经验,缺少在具体应用场景中的评估依据,数据价值评

估脱离了数据的应用场景和真实的业务价值。而数据血缘则提供了一种基于数据实际应用的价值评估方法:使用者

越多(需求方)、使用量级越大、更新越频繁的数据往往更有价值。

**1、数据受众:**在血缘关系图上,右边的数据流出节点表示受众,亦即数据需求方,数据需求方越多表示数据价值越大;

**2、数据更新量级:**数据血缘关系图中,数据流转线路的线条越粗,表示数据更新的量级越大,从一定程度上反映了数据价值的大小;

**3、数据更新频次:**数据更新越频繁,表示数据越鲜活,价值越高。在血缘关系图上,数据流转线路的线段越短,更新越频繁。

可以应用于数据治理,裁剪合并低价值表,缩短数据流ETL链路,从而降低维护成本,提升数据价值

img

数据打标

基于表血缘关系,可以自动为下游表打上与上游直系表相同的业务标签

同样基于字段血缘关系,可以自动为下游字段打上与上游直系字段相同的安全标签

img

任务失败提示

数据质量中,上游任务失败或者字段发生变更时,通知下游表负责人

img

数据血缘与数据治理的关系

首先必须明确一点,数据血缘分析是数据治理的一个子范畴,上面也提到了,你可以基于血缘分析

的结果,进行数据链路的裁剪;进行数据溯源,快速定位问题的原因;在业务层面上,对数据进行

打标,从而对数据进行业务类别化。

数据血缘与数据质量的关系

其实我并不认为这两个有直接的关系。数据质量是去看数据有没有问题,某天的数据有没有丢失,

数据的同比、环比是不是正常。唯一可能有关联的是,某个数据质量的问题,会通过数据链路

进行扩散,我们需要借助血缘分析的结果,一步步得,有方向性得定位到质量有问题得数据根源。

数据血缘分析怎么做

数据血缘分析是我一直在投入做的事情,数据血缘分析,本质上是要对存储工具

(SQL、HIVE、SPARK、CLICKHOUSE)的查询语言, 进行有针对性的解析,从中解析出表血缘关系、字段血缘关系。

我自己做的一个数据血缘分析的工具,目前支持对clickhouse、mysql的血缘进行可视化解析,欢迎star

之江天枢/dlt

data_lineage_demo

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

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

相关文章

Java线程池的七个参数

线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。 一、corePoolSize 核心线程数,是指线程池中长期存活的线程数。int 类型。可以理解为长期存在的、“常驻的”线程。就好…

【OpenGauss源码学习 —— 列存储(创建表)】

列存储 什么是列存储?语法实现语法格式参数说明示例源码分析(创建表)语法层(Gram.y)子模块(utility.cpp) 总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们…

设置Windows主机的浏览器为wls2的默认浏览器

1. 准备工作 wsl是可以使用Windows主机上安装的exe程序,出于安全考虑,默认情况下改功能是无法使用。要使用的话,终端需要以管理员权限启动。 我这里以Windows Terminal为例,介绍如何默认使用管理员权限打开终端,具体…

煤矿调度IP语音对讲广播模块一键求助对讲矿用调度通信系统SIP语音对讲求助终端

硬件接口描述 SV-2101VP/ SV-2103VP系列网络音频模块,所有外部连接采用端子,电源采用2.0mm的端子,网络采用标准RJ45连接器,其他都是1.25mm的连接器。 端口类型定义 P ———— 电源 AI ———— 模拟输入(在这里是音…

diffusion model classifier-guided与classifier-free的区别

classifier-guided 训练阶段 diffusion model 和 classifier分开训练。 diffusion model的数据训练数据为 classifier的数据训练数据为 生成图片阶段 每一个时间步的降噪中会用当前时间步图片在classifier的类别梯度来调整均值。(如上图所示) 之前写…

智慧云实训室建设方案

一、智慧云系统概述 智慧云系统是一种基于云计算技术和虚拟化技术的系统,用于实现各种仿真和模拟任务。它可以提供强大的计算能力和资源管理,为用户提供灵活、高效、可扩展的仿真环境。 该系统通常由一组服务器、网络和存储设备组成,这些设备…

Vue轻量级富文本编辑器-Vue-Quill-Editor

效果图&#xff1a; 下载Vue-Quill-Editor npm install vue-quill-editor --save 下载quill&#xff08;Vue-Quill-Editor需要依赖&#xff09; npm install quill --save vue项目中使用代码 <template><div class"edit_container"><quill-edito…

linux系统安装nginx操作步骤

话不多说&#xff0c;直接上教程 一&#xff1a;安装依赖 输入命令&#xff1a;yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel 二&#xff1a;下载nginx安装包 输入命令&#xff1a;wget http://nginx.org/download/nginx-1.24.0.tar.gz 用…

Flink内核源码解析

Flink内核源码 Flink RPC 网络通信框架Akka 以往&#xff0c;我们接触过非常多的大数据技术栈相关的框架&#xff0c;用的比较多的大数据相关组件&#xff0c;常用的RPC实现技术如下&#xff1a; 技术组件RPC实现HadoopNIO Protobuf (Protobuf即Protocol Buffers&#xff0…

iOS设计规范是什么?都有哪些具体规范

iOS设计规范是苹果为移动设备操作系统iOS制定的设计指南。iOS设计规范的制定保证了苹果应用在外观和操作上的一致性和可用性&#xff0c;从而提高了苹果界面设计的用户体验和应用程序的成功性。本文将从七个方面全面分析iOS设计规范。 1.iOS设计规范完整版分享 由「即时设计」…

VS2019+Qt5.15.2 编译 QtWebEngine(带音视频解码)

前言 QtWebEngine 是 Qt 框架的一部分&#xff0c;用于构建现代 Web 浏览器功能。本篇教程将向您展示如何在 Visual Studio 2019 中编译 QtWebEngine 5.15.2 源码&#xff0c;并配置以支持音视频解码功能。 准备工作 1、源码下载 2、源码修改&#xff0c;参考Qt Code Review…

Docker基础入门:镜像、容器导入导出与私有仓库搭建

Docker基础入门&#xff1a;镜像导入导出与私有仓库搭建 一、 Docker镜像、容器的导入和导出1.1、Docker镜像的导出1.2、Docker镜像的载入1.3、Docker容器的导出1.4、Docker容器的导入 二、 镜像和容器导出和导入的区别:三、commit操作_本地镜像发布到阿里云3.1、commit操作有关…

【正点原子STM32连载】第十二章 串口通信实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第十…

在 Windows 11 上继续使用 Internet Explorer 的方法

为什么微软要淘汰IE&#xff1f; 微软在几年前积极的想要淘汰IE浏览器且用Edge来取代&#xff0c;像是Windows 11内建就没有IE浏览器&#xff0c;如果需要用到IE就必须得用Edge内的IE模式。IE缺乏现代浏览器的安全性。微软在2002年的时候&#xff0c;IE曾经占据了95%的浏览器市…

韦东山-电子量产工具项目:输入单元

所有代码都已通过测试跑通&#xff0c;其中代码结构如下&#xff1a; 一、include文件夹 1.1 input_manager.h #ifndef _INPUT_MANAGER_H //防止头文件重复包含,只要右边的出现过&#xff0c;就不会再往下编译 #define _INPUT_MANAGER_H #include <sys/time.h>#define I…

springboot艰难版本升级之路!! springboot 2.3.x版本升级到2.7.x版本

文章目录 1.缘起1.1 升级到版本2.7.12启动失败,而且没有报错信息1.2 application-dev.yml 配置加载问题1.3 openfeign依赖问题汇总1.4 datasource报错1.5 MySQL驱动升级1.6 循环依赖报错临时总结1.缘起 由于服务需要搭建链路追踪, 需要把springboot版本升级到2.7.12. 目前服务是…

爬虫借助代理会让网速快点吗?

亲爱的程序员朋友们&#xff0c;你曾经遇到过爬虫网速慢的情况吗&#xff1f;别着急&#xff01;今天我将和你一起探讨一下使用代理是否可以加速爬虫&#xff0c;让我们一起进入这个轻松又专业的知识分享。 一、原因和机制的解析 1.IP限制 某些网站为了保护资源和防止爬虫行…

大模型基础03:Embedding 实战本地知识问答

大模型基础:Embedding 实战本地知识问答 Embedding 概述 知识在计算机内的表示是人工智能的核心问题。从数据库、互联网到大模型时代,知识的储存方式也发生了变化。在数据库中,知识以结构化的数据形式储存在数据库中,需要机器语言(如SQL)才能调用这些信息。互联网时代,…

ZKRF-08、ZKRF-10、ZKBLF-04压力补偿节流阀

ZKFC-08、ZKFC-10单向节流阀、ZKNV2-08、ZKNV2-10节流阀、ZKRF-08、ZKRF-10、ZKBLF-04压力补偿节流阀。 螺纹插装式单向节流阀&#xff0c;节流阀流量大小可通过调节螺杆来实现。②到①节流&#xff0c; ①到②开启。 手动节流阀&#xff0c;节流阀流量大小或关闭可通过调节螺…

系统性能调优之绑定cpu

支持超线程的numa架构 物理硬件视角&#xff0c; 将多个CPU封装在一起&#xff0c;这个封装被称为插槽Socket&#xff1b;Core是socket上独立的硬件单元&#xff1b;通过intel的超线程HT技术进一步提升CPU的处理能力&#xff0c;OS看到的逻辑上的核Processor的数量。 每个硬…