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

数据血缘“入门

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

10.1K51

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

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

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

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

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

1.3K10

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

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

47210

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

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

8.4K41

数据管理与数据血缘

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

38810

前瞻|Amundsen的数据血缘功能

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

1.5K20

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

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

50310

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.1K11

数据管理实践&数据血缘

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

1.6K40

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 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。

1.9K10

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

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

7.4K83

基于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 …… 语句,被解析成几个步骤,下列截图所对应的步骤

54820

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

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

1.3K20

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

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

1.7K21

干货 | 携程数据血缘构建及应用

数据血缘用途: 追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。...Hook在运行时采集血缘数据,发送到Kafka。Atlas消费Kafka数据,将关系写到数据库JanusGraph,并提供REST API。...它从不同的源系统中采集元数据,并进行标准化和建模,从而作为元数据仓库完成血缘分析。...针对各个计算引擎和传输工具DataX开发不同的解析插件,将解析好的血缘数据发送到Kafka,实时消费Kafka,把关系数据写到分布式数据JanusGraph。...以下是数据血缘写入数据库的模型,Hive字段单独为一个Lable,关系型DB字段为一个Label,关系分两种,LABELWRITE,LABELWRITE_TTL。

4.6K20

「AntV」基于AntV G6 实现 数据血缘有序分组dag链路排版

一 前言 数据链路是所有数据开发产品中必备的一项功能,不仅仅是因为它提供了数据开发过程的可视化数据链路,还因为它给数据开发的调试,溯源,提供着不可估量的作用。...近期花一个多月做了一个数据血缘,由于涉及到一些算法和盒子模型的知识点,具有一定的学习借鉴价值,同时应各位同事的要求,在此做一下分享。...三 需求价值 市面上的一些血缘链路 所有的血缘都是节点和边组成,节点代表实体,表,api,应用,线代表任务或者作业。 有些血缘数据流转没有从左到右的方向,而有些没有表现出分层的概念。...相比其他数据产品的血缘链路,此次的改造,核心改良点有四个: 核心改良点: 数据链路中从左到右应包含,从数据源出发的表,到分层数据,未分层数据,接着到API,最后流转到APP。...四 开始前的尝试 分析需求,通读G6(阿里开源的一个简单、易用、完备的可视化引擎)所有文档,清晰地描述所遇到的问题 使用dagre库,实现群组内多列,多行排版,不依赖canvas,输入节点与边,输出节点坐标及其他

21510
领券