在当今数据驱动的商业环境中,数据治理成为企业成功的关键因素之一,而数据血缘正是数据治理成功的一个关键。 在数据治理中,数据血缘分析是至关重要的一环。...本文为《数据血缘分析原理与实践 》一书读书笔记,部分观点参考自书中原文,如需更详细的了解学习,请大家支持原作者的辛苦付出。...本文思维导图如下所示: 数据库血缘 数据库是存储和管理数据的核心系统,它是一个有组织的数据集合,通常由一个数据库管理系统(DBMS)进行管理。...例如,在跨部门的数据分析中,数据库血缘可以帮助分析人员追踪数据的来源,确保分析结果的可靠性。 数据表血缘 数据表是数据库中的基本存储单位,它由行和列组成,用于存储相关的数据。...这三者共同作用,全面保障数据从源头到终端的完整性和可靠性。 数据库血缘、数据表血缘和数据字段血缘三者在数据血缘分析中各司其职,共同保障了数据的透明性、准确性和合规性。
本文为《数据血缘分析原理与实践 》一书读书笔记,部分观点参考自书中原文,如需更详细的了解学习,请大家支持原作者的辛苦付出。...本文思维导图如下所示: 主数据的概念与特点 主数据是企业运营中不可或缺的核心数据,涉及客户、产品、供应商、员工和地点等信息。...主数据与数据血缘 数据血缘是指数据在不同系统和过程中的流转和变更历史。了解主数据的数据血缘对于确保数据的质量和一致性具有重要意义。数据血缘的特征包括来源追溯、变更历史、影响分析和透明性与可追溯性。...来源追溯能够清晰地了解主数据来自哪些系统或数据源,变更历史记录了主数据在各个系统中的变更情况,包括何时、由谁、因何变更。影响分析则通过数据血缘,可以了解主数据的变更对业务流程和其他系统的影响。...合规性和审计方面,数据血缘记录了主数据的变更历史,有助于合规审计,确保数据管理符合相关法规和标准。在业务决策支持方面,了解主数据的血缘关系,有助于进行准确的业务分析和决策,提高业务运营效率。
本文为《数据血缘分析原理与实践 》一书读书笔记,部分观点参考自书中原文,如需更详细的了解学习,请大家支持原作者的辛苦付出。...本文思维导图如下所示: 元数据(Metadata)是描述数据的数据,它为数据提供了上下文信息,使用户能够更好地理解、管理和使用数据。...结构化特征则确保元数据以结构化的方式存储和表示,便于计算机处理和分析。元数据的动态性体现了随着数据的创建、修改和使用,元数据也会不断更新,以反映数据的最新状态。...在数据治理中,元数据和数据血缘紧密相关。元数据记录了数据的来源和目标,使数据血缘分析能够准确地追踪数据的流动路径。...通过有效的元数据管理和数据血缘分析,企业可以提升数据的质量和可靠性,保障数据的安全性和合规性,提高数据的使用效率和管理水平,充分发挥数据的价值和潜力。
它分析表和字段从数据源到当前表的血缘路径,以及血缘字段之间存在的关系是否满足,关注的数据一致性以及表设计的合理性。...当发现数据出现问题时,需要进一步追踪数据源头,分析产生质量问题的原因并进而解决。从数据血缘图中,可以很方便的得到数据加工过程,进而分析可能的质量问题。...数据血缘分析 即数据“前向”血缘。通过指定表/字段,来追溯其前向多级对象。 数据影响分析 即数据“后向”血缘。通过指定表/字段,来关联其后向多级对象。...数据全局血缘 不局限于单个对象,可从更大尺度(例如:项目内等),了解整体数据流转情况。这对于分析热点对象、数据清理等需求都很有意义。 数据计算血缘 即从“作业”角度入手,分析其前向、后向作业情况。...这对于问题排查、质量分析等,均有意义。 对象关联分析 除了我们通常意义上的血缘外,还有一种更为广义上的血缘。
血缘分析是解决这类问题的一种技术手段。数据血缘(Data Lineage),指的是数据从产生、ETL处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。这些关系就是描述数据的数据(元数据)。...掌握了这个元数据,就能最大程度的做好数据的应用和管理。 那么如何推导数据之间的血缘关系呢?其实在开发或者分析师团队提供的成百上千的数据脚本中,每一行代码背后都蕴含着业务逻辑和数据关系。...以 CPython 为例,编译过程如下: 将源代码解析为解析树(Parser Tree) 将解析树转换为抽象语法树(Abstract Syntax Tree) 将抽象语法树转换到控制流图(Control...Flow Graph) 根据流图将字节码(bytecode)发送给虚拟机(eval) 我们平常在python开发环境中编写代码时,IDE会提示各种编写过程中的语法错误,本质上是代码静态检查,对代码的内容和结构进行解析和分析...我们参考Pyflakes来实现以上功能,Pyflakes是Python的一个代码分析包,用来分析代码,发现潜在的代码问题,例如:引入但没有用到的模块、变量创建但是没有使用。
一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘在数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘的分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。...列级血缘: 支持列级血缘分析,展示所有列的血缘路径。 血缘可视化: 支持血缘结果的图形可视化,可以在浏览器中查看表级和列级血缘的有向无环图(DAG)表示。
选择图数据库存储,是因为图数据库是基于图论实现的新型数据库,擅长处理点和边组成的复杂关系网络,执行和查询效率较传统关系型数据库具有无可比拟的优势。...本篇会讲解数据血缘关系上功能应用和图数据Neo4j安装使用与实例讲解。...数据血缘关系 通过对oracle、greenplumn、mysql、hive、presto、spark和flink多引擎等等覆盖,实现生成数据血缘关系、数据价值分析、影响度分析和数据存储生命周期管理。...(粒度可选),上游依赖路径长度展示(路径长度可选),字段加工逻辑清晰可见 数据价值分析: 在生成数据血缘关系或数据流向时,访问方式、访问集群、应用、系统、表、分区和字段数据访问频次、存储方式、访问部门、...如影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。
/字段)和边(上下游关系)组成,维护图结构的血缘信息 在公有云上,面对多样性需求,界定SQL血缘解析的目标是:多SQL方言的数据血缘支持,包括表血缘、字段血缘。...实现语法分析。...示例(CREATE AS SELECT 语句):create table table_02 as select id,name from table_01,获取语法解析的AST如下: ROOT:为AST...但如果关系层级超过3层,查询时会出现性能瓶颈,可选择基于图数据库存储。 图数据库是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。...该系统的关键概念是图,它直接将存储中的数据项,与数据节点和节点间表示关系的边的集合相关联。
目录 一、应用 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 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。
分析数据的血缘关系看起来简单,但真的要做起来,并不容易,因为数据的来源多种多样,加工数据的手段,所使用的计算框架可能也各不相同,此外也不是所有的系统天生都具备获取相关信息的能力。...以hive表为例,通过分析hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。...而如果是一个MapReduce任务生成的数据,从外部来看,可能就只能通过分析MR任务输出的Log日志信息来粗略判断目录级别的读写关系,从而间接推导数据的血缘依赖关系了。...这么做的优点是血缘的追踪分析是基于真实运行任务的信息进行分析的,如果插件部署全面,也不太会有遗漏问题,但是这种方式也有很多不太好解决的问题,比如 如何更新一个历史上有依赖后来不再依赖的血缘关系 对于一个还未运行的任务...当然,这种方案也有自己的短板需要克服,比如:如果脚本管控不到位,血缘关系分析可能覆盖不全;血缘关系是基于最新的脚本的静态的逻辑关系,无法做到基于某一次真实的运行实例进行分析。
目前,Amundsen并不支持表级别和列级别的数据血缘功能,也没有办法展示数据的来龙去脉。 作为Amundsen一项非常核心的功能,Lineage功能早已经提上日程,并进入设计与研发阶段。...新的概念 Lineage:这是一个术语,代表了数据流的传递过程,从一个实体到另一个实体。特别是ETL的过程,重点关注表到表,列到列的数据流转过程。...Upstream:数据从上游流向下游,Upstream就代表着当前的数据来源。 Downstream:代表了使用了当前数据的相关实体。...每个选项卡将包含从中继承或使用数据的表的列表。这允许用户以非常简单的方式查看。 image.png 列级别 和表级别相似,可通过扩展列的元数据来查看。...image.png 当然这还只是初步的设计,未来可能会有更多的变化,我们会持续关注~ 附一张Apache Atlas此功能的实现图 image.png
前几天,Datahub提供了最新的字段级别数据血缘功能,很多朋友迫不及待想对比一下Datahub的字段级血缘与Atlas的区别。...正文开始: 通过本文档,可以快速的解决Hive在Altas字段级血缘没有生成的问题,并了解Hive数据血缘实现原理。更多元数据管理,数据血缘相关文章,可以关注后续的文章更新。...并为数据分析师和数据治理团队,提供围绕这些 数据资产的协作功能。...PreExecutePrinter和PostExecutePrinter:pre和post hook的示例,它将参数打印输出。...四、Hive表数据血缘实现 表的实现就比较简单了。
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 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。
本篇将引入一个新的概念:数据血缘分析 ,或者叫血统分析。 0x01 血缘分析 那么什么是数据血缘分析呢?在这里我们不给出它的严谨的定义,仅从感觉上来解释一下这个东西。...上面的过程是数据血缘分析的过程。 0x02 数据血缘分析有什么用???...咋一看,其实感觉数据血缘分析并没有什么用,其实就我个人感觉来看,其实的确没什么用,特别是在你的业务规模比较小并且数据合作不频繁的情况下,基本不需要数据血缘分析。...但是当遇到了下面一些场景的时候,数据血缘绝对能帮你提高很高的效率。 问题定位。上面的例子,假设你用到了别人的数据,数据血缘分析能快速帮你定位到问题。 理解数据。...关于元数据系统的设计可以参考这篇博客《别人家的元数据系统是怎么设计的》。 这里随便提一句,数据血缘的管理可以考虑使用图数据来实现,用图数据的好处是更容易展现表之间的关系。
一、前言 什么是数据血缘?数据血缘是数据产生、加工、转化,数据之间产生的关系。随着公司业务发展,通过数据血缘,能知道数据的流向,以便我们更好地进行数据治理。 二、为什么选择 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 …… 语句,被解析成几个步骤,下列截图所对应的步骤
最近在进行数据逆向分析,无业务无界面无数据库的情况下,想通过对存储过程中关于输出输入表的分析快速了解业务的核心问题,然后再对核心业务进行逆向回溯。...其实问题很简单,一个存储过程会有多个输入表和输出表,一个存储过程的输出表可能会成为另外一个存储过程的输入表,从而将整个数据库的业务逻辑串接起来,基于长链会形成血缘关系,基于关联会形成聚合。...这里需要构造的节点数据和连接数据,节点数据是输入表和输出表剔重后的编号和标签,连接数据通过存储过程标签将节点数据进行关联。 代码之前有测试过,所以这次实现无太多需要讲解。 #!
数据血缘用途: 追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。...Hook在运行时采集血缘数据,发送到Kafka。Atlas消费Kafka数据,将关系写到图数据库JanusGraph,并提供REST API。...它从不同的源系统中采集元数据,并进行标准化和建模,从而作为元数据仓库完成血缘分析。...针对各个计算引擎和传输工具DataX开发不同的解析插件,将解析好的血缘数据发送到Kafka,实时消费Kafka,把关系数据写到分布式图数据JanusGraph。...以下是数据血缘写入图数据库的模型,Hive字段单独为一个Lable,关系型DB字段为一个Label,关系分两种,LABELWRITE,LABELWRITE_TTL。
领取专属 10元无门槛券
手把手带您无忧上云