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

数据血缘“入门

分析表和字段从数据源到当前表的血缘路径,以及血缘字段之间存在的关系是否满足,关注的数据一致性以及表设计的合理性。...数据价值 数据的价值如何衡量,是一个很头疼的问题。要想对数据进行价值评估,就需要有个依据;而数据血缘,就提供了几个方面的参考数据,方便进行评估。 数据受众:数据需求方越多,数据价值越大。...合规需求 这往往是上层管理部门的需求,为了监管合规,数据流动的各点和来源,都是重点需要监管的。因此需要全面了解数据间的关系。 安全管控 这通常是安全合规部门的需求,需要了解数据如何使用?受众有哪些?...机器学习 这个方法是基于数据集之间的依赖关系,计算数据的相似度。这个方法的好处是对工具和业务没有依赖,缺点准确率需要人工确认。目前还没有看到很好的工程实现。...数据血缘分析数据“前向”血缘。通过指定表/字段,来追溯其前向多级对象。 数据影响分析数据“后向”血缘。通过指定表/字段,来关联其后向多级对象。

10.1K51

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

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

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

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

面对着几百上千张数据表,不知该如何关联,不知哪些表更有价值 执行着长的令人绝望,慢的无法忍受的SQL脚本,却不敢挥刀整改 准备着新功能上线,但总担心一行代码的修改会造成严重的生产事故 有没有科学的办法,...血缘分析是解决这类问题的一种技术手段。数据血缘(Data Lineage),指的是数据从产生、ETL处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。这些关系就是描述数据数据(元数据)。...掌握了这个元数据,就能最大程度的做好数据的应用和管理。 那么如何推导数据之间的血缘关系呢?其实在开发或者分析师团队提供的成百上千的数据脚本中,每一行代码背后都蕴含着业务逻辑和数据关系。...我们参考Pyflakes来实现以上功能,Pyflakes是Python的一个代码分析包,用来分析代码,发现潜在的代码问题,例如:引入但没有用到的模块、变量创建但是没有使用。...,记录每一个词在代码中的起始位置,结果如下: 最后,w = checker.Checker(tree, file_tokens=file_tokens, filename=filename) 是主要实现代码检查的函数

1.6K41

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

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘的核心目的是提供对数据流动和变化的完整可视化,从而帮助组织理解数据的来源、经过的处理步骤以及最终如何被利用。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。

1.3K10

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

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘的核心目的是提供对数据流动和变化的完整可视化,从而帮助组织理解数据的来源、经过的处理步骤以及最终如何被利用。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。

47210

数据管理与数据血缘

所以,收集表结构信息,不光是简单的信息汇总,更重要的是从平台管理和业务需求的角度出发来考虑,如何整理和归纳数据,方便系统集成,实现最终的业务价值。...以hive表为例,通过分析hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。...Navigator同时还为用户提供了各种统计分析视图和查询管理工具来分析这些数据。 从底层实现来看,Navigator同样通过Hook或着Plugin插件的形式从各种底层系统的运行过程中获取相关信息。...这么做的优点是血缘的追踪分析是基于真实运行任务的信息进行分析的,如果插件部署全面,也不太会有遗漏问题,但是这种方式也有很多不太好解决的问题,比如 如何更新一个历史上有依赖后来不再依赖的血缘关系 对于一个还未运行的任务...,不能提前获取血缘信息 临时脚本或者错误的脚本逻辑对血缘关系数据的污染 简单总结一下,就是基于运行时的信息来采集血缘关系,由于缺乏静态的业务信息辅助,如何甄别和更新血缘关系的生命周期和有效性会是一个棘手的问题

39010

前瞻|Amundsen的数据血缘功能

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

1.5K20

聊聊Hive数据血缘——从Atlas没有列级血缘的Bug讲起

前几天,Datahub提供了最新的字段级别数据血缘功能,很多朋友迫不及待想对比一下Datahub的字段级血缘与Atlas的区别。...今天我们就来看一下这个问题到底是怎么引起的,然后从HiveSql的语法树讲起,看看数据血缘到底是如何被检测到的。 最后提醒,文档版权为公众号 大数据流动 所有,请勿商用。...正文开始: 通过本文档,可以快速的解决Hive在Altas字段级血缘没有生成的问题,并了解Hive数据血缘实现原理。更多元数据管理,数据血缘相关文章,可以关注后续的文章更新。...并为数据分析师和数据治理团队,提供围绕这些 数据资产的协作功能。...四、Hive表数据血缘实现 表的实现就比较简单了。

1.5K10

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

一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...数据血缘的核心目的是提供对数据流动和变化的完整可视化,从而帮助组织理解数据的来源、经过的处理步骤以及最终如何被利用。...数据血缘是元数据管理的重要组成部分,通过收集获取元数据可以分析生成数据血缘,这样可以增加数据透明度,便于审计和合规,也就是说数据血缘数据安全,数据管理领域意义重大。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...也可以分析出列级别的血缘。 这样的话,数据的前后关系就一目了然了。 同时SQLLineage还支持多种SQL语法的解析器,这不管是我们直接拿来用,还是分析其代码都非常的有帮助。

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脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。...Navigator同时还为用户提供了各种统计分析视图和查询管理工具来分析这些数据。 从底层实现来看,Navigator同样通过Hook或着Plugin插件的形式从各种底层系统的运行过程中获取相关信息。...这么做的优点是血缘的追踪分析是基于真实运行任务的信息进行分析的,如果插件部署全面,也不太会有遗漏问题,但是这种方式也有很多不太好解决的问题,比如 如何更新一个历史上有依赖后来不再依赖的血缘关系 对于一个还未运行的任务...,不能提前获取血缘信息 临时脚本或者错误的脚本逻辑对血缘关系数据的污染 简单总结一下,就是基于运行时的信息来采集血缘关系,由于缺乏静态的业务信息辅助,如何甄别和更新血缘关系的生命周期和有效性会是一个棘手的问题

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 数据血缘分析有什么用???...咋一看,其实感觉数据血缘分析并没有什么用,其实就我个人感觉来看,其实的确没什么用,特别是在你的业务规模比较小并且数据合作不频繁的情况下,基本不需要数据血缘分析。...其实总的说来,数据血缘能帮你更好地理解自己的数据! 0x03 关于实现 实现的话不打算在这里多聊,因为数据血缘一般是和元数据管理紧紧绑定起来的,在设计元数据管理系统的时候应该要考虑到数据血缘的内容。...关于元数据系统的设计可以参考这篇博客《别人家的元数据系统是怎么设计的》。 这里随便提一句,数据血缘的管理可以考虑使用图数据实现,用图数据的好处是更容易展现表之间的关系。

7.4K83

基于Spline的数据血缘解析

一、前言 什么是数据血缘数据血缘数据产生、加工、转化,数据之间产生的关系。随着公司业务发展,通过数据血缘,能知道数据的流向,以便我们更好地进行数据治理。 二、为什么选择 Spline?...政采云大数据平台的作业目前主要有 Spark SQL、PySpark、Spark JAR、数据交换、脚本类型等,最初由于实现难度的问题,考虑解析 SparkPlan( Spark 物理计划)以获取表、字段血缘...Kafka,应用可消费 Kafka 数据获取字段血缘数据进行解析,但政采云大数据平台,基于业务需要,字段血缘需要跟作业绑定,若通过消费 Kafka 的方式,无法在获取字段血缘数据的同时跟作业绑定。...附,Spline REST 文档 1、血缘解析流程 Htools:政采云大数据平台的一个调度工具 IData:政采云大数据平台应用层 2、基于接口解析血缘 解析字段血缘,主要涉及到 Consumer...四、总结 基于 Spline REST 接口获取表、字段血缘等相关信息,在实际实现过程中,每个作业调用的总接口次数是比较多的,但即便调用次数较多,也在服务器可承受范围内,上线后第一次解析血缘接口调用比较密集

54820

数仓字段血缘解析实现—hive版

【本文大纲】 1、字段血缘分析的意义 2、实现方案选择 3、实现过程 4、总结 字段血缘分析的意义 数仓经常会碰到的两类问题: 1、两个数据报表进行对比,结果差异很大,需要人工核对分析指标的维度信息,比如从头分析数据指标从哪里来...,处理条件是什么,最后才能分析出问题原因 ——数据回溯问题 2、基础数据表因某种原因需要修改字段,需要评估其对数仓的影响,费时费力,然后在做方案 —— 影响分析问题 这两类问题都属于数据血缘分析问题...,数据血缘分析还有其它的积极意义,比如: 问题定位分析 类似于影响分析,当程序运行出错时,可以方便找到问题的节点,并判断出问题的原因以及后续的影响 指标波动分析 当某个指标出现较大的波动时,可进行溯源分析...,判断是由哪条数据发生变化所导致的 数据体检 判定系统和数据的健康情况,是否存在大量的冗余数据、无效数据、无来源数据、重复计算、系统资源浪费等问题 数据评估 通过血缘分析和元数据,可以从数据的集中度、分布...、冗余度、数据热度、重要性等多角度进行评估分析,从而初步判断数据的价值 实现方案选择 经过调研,目前业界有一些优秀的框架,比如druid ,内部已经实现了大部分的解析功能,可以用来解析sql,但是它的缺点是支持

4.4K70

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

背景 元数据管理包含内容较广,本篇介绍其中非常重要的数据血缘关系存储实现。...数据血缘关系 通过对oracle、greenplumn、mysql、hive、presto、spark和flink多引擎等等覆盖,实现生成数据血缘关系、数据价值分析、影响度分析数据存储生命周期管理。...总结 本篇讲述了数据血缘关系使用Neo4j存储,并给出例子实现创建血缘关系创建语句,实际应用中数据血缘关系是通过数据加载进去的。...没讲这些血缘关系的元数据如何从SQL或应用中解析获取的,有机会笔者再另分享。 数据血缘关系在元数据管理中是非常重要的内容,其不仅展示数据来龙去脉,还定位异常数据影响范围。...如影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。

8.4K41

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

在这篇博文中,我们介绍了 Spark-Lineage,这是一种内部产品,用于跟踪和可视化 Yelp 的数据如何在我们的服务之间处理、存储和传输的。...它提供数据旅程的可视化表示,包括从起点到目的地的所有步骤,并提供有关数据去向、谁拥有数据以及在每个步骤中如何处理和存储数据的详细信息。...另一方面,在 Redshift 中存储数据非常持久且易于查询以用于分析目的。在 Yelp,我们每天大约有数千个批次,平均每个作业发出大约 10 条消息。...由此,我们可以执行数据分析来推广或推荐好的特性,或者指导我们生成我们认为对我们的机器学习工程师有益的类似特性。...服务端实现 数据标识符 Spark-Lineage 需要跟踪的最基本的元数据数据的标识符。我们提供了 2 种方法来识别输入/输出表:schema_id和数据的位置。

1.3K20

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

数据血缘用途: 追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。...本文介绍携程数据血缘如何构建及应用场景。第一版T+1构建Hive引擎的表级别的血缘关系,第二版近实时构建Hive,Spark,Presto多个查询引擎和DataX传输工具的字段级别血缘关系。...它从不同的源系统中采集元数据,并进行标准化和建模,从而作为元数据仓库完成血缘分析。...由于当时缺少血缘关系,对数据治理难度较大,表级别的血缘解析难度较低,表的数量远小于字段的数量,早期先快速实现了表级别版本。...七、总结 以上描述了携程如何构建表和字段级别的血缘关系,及在实际应用的场景。

4.6K20
领券