首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据血缘系列(6)—— 数据血缘与主数据

本文为《数据血缘分析原理与实践 》一书读书笔记,部分观点参考自书中原文,如需更详细的了解学习,请大家支持原作者的辛苦付出。...本文思维导如下所示: 主数据的概念与特点 主数据是企业运营中不可或缺的核心数据,涉及客户、产品、供应商、员工和地点等信息。...主数据数据血缘 数据血缘是指数据在不同系统和过程中的流转和变更历史。了解主数据数据血缘对于确保数据的质量和一致性具有重要意义。数据血缘的特征包括来源追溯、变更历史、影响分析和透明性与可追溯性。...来源追溯能够清晰地了解主数据来自哪些系统或数据源,变更历史记录了主数据在各个系统中的变更情况,包括何时、由谁、因何变更。影响分析则通过数据血缘,可以了解主数据的变更对业务流程和其他系统的影响。...合规性和审计方面,数据血缘记录了主数据的变更历史,有助于合规审计,确保数据管理符合相关法规和标准。在业务决策支持方面,了解主数据血缘关系,有助于进行准确的业务分析和决策,提高业务运营效率。

6910

数据血缘“入门

分析表和字段从数据源到当前表的血缘路径,以及血缘字段之间存在的关系是否满足,关注的数据一致性以及表设计的合理性。...当发现数据出现问题时,需要进一步追踪数据源头,分析产生质量问题的原因并进而解决。从数据血缘图中,可以很方便的得到数据加工过程,进而分析可能的质量问题。...数据血缘分析数据“前向”血缘。通过指定表/字段,来追溯其前向多级对象。 数据影响分析数据“后向”血缘。通过指定表/字段,来关联其后向多级对象。...数据全局血缘 不局限于单个对象,可从更大尺度(例如:项目内等),了解整体数据流转情况。这对于分析热点对象、数据清理等需求都很有意义。 数据计算血缘 即从“作业”角度入手,分析其前向、后向作业情况。...这对于问题排查、质量分析等,均有意义。 对象关联分析 除了我们通常意义上的血缘外,还有一种更为广义上的血缘

10.3K51
您找到你想要的搜索结果了吗?
是的
没有找到

数据血缘系列(5)—— 数据血缘与元数据

本文为《数据血缘分析原理与实践 》一书读书笔记,部分观点参考自书中原文,如需更详细的了解学习,请大家支持原作者的辛苦付出。...本文思维导如下所示: 元数据(Metadata)是描述数据数据,它为数据提供了上下文信息,使用户能够更好地理解、管理和使用数据。...结构化特征则确保元数据以结构化的方式存储和表示,便于计算机处理和分析。元数据的动态性体现了随着数据的创建、修改和使用,元数据也会不断更新,以反映数据的最新状态。...在数据治理中,元数据数据血缘紧密相关。元数据记录了数据的来源和目标,使数据血缘分析能够准确地追踪数据的流动路径。...通过有效的元数据管理和数据血缘分析,企业可以提升数据的质量和可靠性,保障数据的安全性和合规性,提高数据的使用效率和管理水平,充分发挥数据的价值和潜力。

12010

数据血缘分析-Python代码的智能解析

血缘分析是解决这类问题的一种技术手段。数据血缘(Data Lineage),指的是数据从产生、ETL处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。这些关系就是描述数据数据(元数据)。...掌握了这个元数据,就能最大程度的做好数据的应用和管理。 那么如何推导数据之间的血缘关系呢?其实在开发或者分析师团队提供的成百上千的数据脚本中,每一行代码背后都蕴含着业务逻辑和数据关系。...以 CPython 为例,编译过程如下: 将源代码解析为解析树(Parser Tree) 将解析树转换为抽象语法树(Abstract Syntax Tree) 将抽象语法树转换到控制流(Control...Flow Graph) 根据流将字节码(bytecode)发送给虚拟机(eval) 我们平常在python开发环境中编写代码时,IDE会提示各种编写过程中的语法错误,本质上是代码静态检查,对代码的内容和结构进行解析和分析...我们参考Pyflakes来实现以上功能,Pyflakes是Python的一个代码分析包,用来分析代码,发现潜在的代码问题,例如:引入但没有用到的模块、变量创建但是没有使用。

1.7K41

【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。...列级血缘: 支持列级血缘分析,展示所有列的血缘路径。 血缘可视化: 支持血缘结果的图形可视化,可以在浏览器中查看表级和列级血缘的有向无环(DAG)表示。

59410

【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。...列级血缘: 支持列级血缘分析,展示所有列的血缘路径。 血缘可视化: 支持血缘结果的图形可视化,可以在浏览器中查看表级和列级血缘的有向无环(DAG)表示。

2.5K21

数据血缘关系:数据库Neo4j存储实现

选择数据库存储,是因为数据库是基于图论实现的新型数据库,擅长处理点和边组成的复杂关系网络,执行和查询效率较传统关系型数据库具有无可比拟的优势。...本篇会讲解数据血缘关系上功能应用和数据Neo4j安装使用与实例讲解。...数据血缘关系 通过对oracle、greenplumn、mysql、hive、presto、spark和flink多引擎等等覆盖,实现生成数据血缘关系、数据价值分析、影响度分析数据存储生命周期管理。...(粒度可选),上游依赖路径长度展示(路径长度可选),字段加工逻辑清晰可见 数据价值分析: 在生成数据血缘关系或数据流向时,访问方式、访问集群、应用、系统、表、分区和字段数据访问频次、存储方式、访问部门、...如影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。

9.1K41

【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。...列级血缘: 支持列级血缘分析,展示所有列的血缘路径。 血缘可视化: 支持血缘结果的图形可视化,可以在浏览器中查看表级和列级血缘的有向无环(DAG)表示。

58910

数据管理与数据血缘

分析数据血缘关系看起来简单,但真的要做起来,并不容易,因为数据的来源多种多样,加工数据的手段,所使用的计算框架可能也各不相同,此外也不是所有的系统天生都具备获取相关信息的能力。...以hive表为例,通过分析hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。...而如果是一个MapReduce任务生成的数据,从外部来看,可能就只能通过分析MR任务输出的Log日志信息来粗略判断目录级别的读写关系,从而间接推导数据血缘依赖关系了。...这么做的优点是血缘的追踪分析是基于真实运行任务的信息进行分析的,如果插件部署全面,也不太会有遗漏问题,但是这种方式也有很多不太好解决的问题,比如 如何更新一个历史上有依赖后来不再依赖的血缘关系 对于一个还未运行的任务...当然,这种方案也有自己的短板需要克服,比如:如果脚本管控不到位,血缘关系分析可能覆盖不全;血缘关系是基于最新的脚本的静态的逻辑关系,无法做到基于某一次真实的运行实例进行分析

50410

Atlas血缘分析数据仓库中的实战案例

目录 一、应用 1.1 执行SQL 1.2 手写的数据地图 1.3 atlas血缘分析 1.4 打标签 1.4.1 CLASSIFICATION分类 1.4.2 GLOSSARY词汇表 1.5 字段搜索...4.1 Hive Hook 4.1.1 设置Atlas配置目录 4.1.2 设置环境变量 4.1.3 把压缩包上传 4.1.4 解压包 4.1.5 添加Hive的第三方依赖包 4.1.6 导入Hive数据...JOIN dw.dw_zbchannel tp ON t2.pageid = tp.channelid ) t3 ) t4 WHERE rk = 1; 1.2 手写的数据地图...1.3 atlas血缘分析 说明:通过对比,Atlas能够更加准确地解析所有脚本SQL语句,在全局角度能够看到上下游关系,不过自己手动维护的好处的是能够更加方便地迭代维护。...1.5 字段搜索 1.5.1查看表字段 1.5.2 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。

2K10

前瞻|Amundsen的数据血缘功能

目前,Amundsen并不支持表级别和列级别的数据血缘功能,也没有办法展示数据的来龙去脉。 作为Amundsen一项非常核心的功能,Lineage功能早已经提上日程,并进入设计与研发阶段。...新的概念 Lineage:这是一个术语,代表了数据流的传递过程,从一个实体到另一个实体。特别是ETL的过程,重点关注表到表,列到列的数据流转过程。...Upstream:数据从上游流向下游,Upstream就代表着当前的数据来源。 Downstream:代表了使用了当前数据的相关实体。...每个选项卡将包含从中继承或使用数据的表的列表。这允许用户以非常简单的方式查看。 image.png 列级别 和表级别相似,可通过扩展列的元数据来查看。...image.png 当然这还只是初步的设计,未来可能会有更多的变化,我们会持续关注~ 附一张Apache Atlas此功能的实现 image.png

1.6K20

数据管理实践&数据血缘

分析数据血缘关系看起来简单,但真的要做起来,并不容易,因为数据的来源多种多样,加工数据的手段,所使用的计算框架可能也各不相同,此外也不是所有的系统天生都具备获取相关信息的能力。...以hive表为例,通过分析hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。...而如果是一个MapReduce任务生成的数据,从外部来看,可能就只能通过分析MR任务输出的Log日志信息来粗略判断目录级别的读写关系,从而间接推导数据血缘依赖关系了。...这么做的优点是血缘的追踪分析是基于真实运行任务的信息进行分析的,如果插件部署全面,也不太会有遗漏问题,但是这种方式也有很多不太好解决的问题,比如 如何更新一个历史上有依赖后来不再依赖的血缘关系 对于一个还未运行的任务...当然,这种方案也有自己的短板需要克服,比如:如果脚本管控不到位,血缘关系分析可能覆盖不全;血缘关系是基于最新的脚本的静态的逻辑关系,无法做到基于某一次真实的运行实例进行分析

1.8K40

Atlas血缘分析数据仓库中的实战案例

Hi,我是王知无,一个大数据领域的原创作者。...目录 一、应用 1.1 执行SQL 1.2 手写的数据地图 1.3 atlas血缘分析 1.4 打标签 1.4.1 CLASSIFICATION分类 1.4.2 GLOSSARY词汇表 1.5 字段搜索...4.1 Hive Hook 4.1.1 设置Atlas配置目录 4.1.2 设置环境变量 4.1.3 把压缩包上传 4.1.4 解压包 4.1.5 添加Hive的第三方依赖包 4.1.6 导入Hive数据...1.3 atlas血缘分析 说明:通过对比,Atlas能够更加准确地解析所有脚本SQL语句,在全局角度能够看到上下游关系,不过自己手动维护的好处的是能够更加方便地迭代维护。...1.5 字段搜索 1.5.1查看表字段 1.5.2 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。

3.2K11

你了解你的数据吗(元婴篇):血缘分析

本篇将引入一个新的概念:数据血缘分析 ,或者叫血统分析。 0x01 血缘分析 那么什么是数据血缘分析呢?在这里我们不给出它的严谨的定义,仅从感觉上来解释一下这个东西。...上面的过程是数据血缘分析的过程。 0x02 数据血缘分析有什么用???...咋一看,其实感觉数据血缘分析并没有什么用,其实就我个人感觉来看,其实的确没什么用,特别是在你的业务规模比较小并且数据合作不频繁的情况下,基本不需要数据血缘分析。...但是当遇到了下面一些场景的时候,数据血缘绝对能帮你提高很高的效率。 问题定位。上面的例子,假设你用到了别人的数据数据血缘分析能快速帮你定位到问题。 理解数据。...关于元数据系统的设计可以参考这篇博客《别人家的元数据系统是怎么设计的》。 这里随便提一句,数据血缘的管理可以考虑使用数据来实现,用数据的好处是更容易展现表之间的关系。

7.7K83

基于Spline的数据血缘解析

一、前言 什么是数据血缘数据血缘数据产生、加工、转化,数据之间产生的关系。随着公司业务发展,通过数据血缘,能知道数据的流向,以便我们更好地进行数据治理。 二、为什么选择 Spline?...政采云大数据平台的作业目前主要有 Spark SQL、PySpark、Spark JAR、数据交换、脚本类型等,最初由于实现难度的问题,考虑解析 SparkPlan( Spark 物理计划)以获取表、字段血缘...Kafka,应用可消费 Kafka 数据获取字段血缘数据进行解析,但政采云大数据平台,基于业务需要,字段血缘需要跟作业绑定,若通过消费 Kafka 的方式,无法在获取字段血缘数据的同时跟作业绑定。...附,Spline REST 文档 1、血缘解析流程 Htools:政采云大数据平台的一个调度工具 IData:政采云大数据平台应用层 2、基于接口解析血缘 解析字段血缘,主要涉及到 Consumer...3、示例 以下案例基于 insert into …… select …… 语句的解析 (1)执行计划 从下图,可以看到一个 insert into …… select …… 语句,被解析成几个步骤,下列截图所对应的步骤

69920

Yelp 的 Spark 数据血缘建设实践!

Spark-Lineage 从每个 Spark-ETL 作业中提取所有必要的元数据,构建数据移动的图形表示,并让用户通过第三方数据治理平台以交互方式探索它们。 1....Spark-ETL 作业的 Spark-Lineage 视图示例 2.... 3. Spark-ETL 作业的示例 在后端,我们直接在 Spark-ETL 中实现 Spark-Lineage,以从每个批处理作业中提取所有具有依赖关系的源表和目标表对。...另一方面,在 Redshift 中存储数据非常持久且易于查询以用于分析目的。在 Yelp,我们每天大约有数千个批次,平均每个作业发出大约 10 条消息。...由此,我们可以执行数据分析来推广或推荐好的特性,或者指导我们生成我们认为对我们的机器学习工程师有益的类似特性。

1.4K20

python实现之数据血缘关系,by networkx

最近在进行数据逆向分析,无业务无界面无数据库的情况下,想通过对存储过程中关于输出输入表的分析快速了解业务的核心问题,然后再对核心业务进行逆向回溯。...其实问题很简单,一个存储过程会有多个输入表和输出表,一个存储过程的输出表可能会成为另外一个存储过程的输入表,从而将整个数据库的业务逻辑串接起来,基于长链会形成血缘关系,基于关联会形成聚合。...这里需要构造的节点数据和连接数据,节点数据是输入表和输出表剔重后的编号和标签,连接数据通过存储过程标签将节点数据进行关联。 代码之前有测试过,所以这次实现无太多需要讲解。 #!

1.8K21
领券