什么是数据血缘? 数据的产生、加工融合、流转流通,到最终消亡,数据之间自然会形成一种关系。借鉴人类社会中类似的一种关系来表达数据之间的这种关系,称之为数据的血缘关系。数据血缘是元数据的组成部分之一。...它分析表和字段从数据源到当前表的血缘路径,以及血缘字段之间存在的关系是否满足,关注的数据一致性以及表设计的合理性。...可追溯性 数据的血缘关系,体现了数据的生命周期,体现了数据从产生到消亡的整个过程,具备可追溯性。 层次性 数据的血缘关系是有层次的。...数据血缘分析 即数据“前向”血缘。通过指定表/字段,来追溯其前向多级对象。 数据影响分析 即数据“后向”血缘。通过指定表/字段,来关联其后向多级对象。...对象关联分析 除了我们通常意义上的血缘外,还有一种更为广义上的血缘。对象间不只有数据级关系,还有一种引用级关系,即对象间关联使用,包括但不限于表、视图、模型、报表、作业等。
前几天,Datahub提供了最新的字段级别数据血缘功能,很多朋友迫不及待想对比一下Datahub的字段级血缘与Atlas的区别。...这个时候问题来了,在Atlas收集Hive血缘的时候,由于部分版本问题,没有显示出字段级的数据血缘。这是为什么呢?其实只要做一个简单的修复就可以了,但是知其然也要知其所以然。...正文开始: 通过本文档,可以快速的解决Hive在Altas字段级血缘没有生成的问题,并了解Hive数据血缘实现原理。更多元数据管理,数据血缘相关文章,可以关注后续的文章更新。...但是,很多同学在按该步骤操作完以后,字段级数据血缘并未生成。这是为什么呢?...四、Hive表数据血缘实现 表的实现就比较简单了。
IBD全称Identity By Descent, 又叫做血缘同源,指的是两个个体中共有的等位基因来源于共同祖先;IBS全称Identity By State, 又叫做状态同源,指的是两个个体中共有的等位基因序列相同
作者:三余 部门:数据中台 一.背景 随着数据仓库数据量的增长,数据血缘( Data Lineage or Data Provence ) 对于数据分析来说日益重要, 通过数据血缘可以追溯表-表,表-...目前已经基于ANTLR 语法解析支持了 SQL 任务的血缘解析,而 Spark App 任务的血缘仍然是通过人工配置方式进行。我们希望能够将 Spark App 任务的解析做个补充,完善血缘逻辑。..._jsparkSession) 3.1.2 血缘解析 血缘解析逻辑在SplineAgent.handle()方法,通过调用LineageHarvester.harvest(),获取最终血缘,并交给...血缘解析基于写入触发, 所以如果任务只做查询是解析不到血缘的 虽然仍有一些不足,但是 spline agent 能够无感知的为线上运行的 Spark APP 程序增加血缘解析能力,是个很不错的思路,后续可以基于这个方向进行进一步的研究优化...Spark APP 的血缘准确率。
数据血缘关系包含了集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系,其指向数据的上游来源,向上游追根溯源。...然后存储到图数据库Neo4j。...选择图数据库存储,是因为图数据库是基于图论实现的新型数据库,擅长处理点和边组成的复杂关系网络,执行和查询效率较传统关系型数据库具有无可比拟的优势。...本篇会讲解数据血缘关系上功能应用和图数据Neo4j安装使用与实例讲解。...Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。 图数据库Neo4j涉及内容较多,笔者这里仅讲最基础基本元素与概念,方便下面例子讲解。
目前,Amundsen并不支持表级别和列级别的数据血缘功能,也没有办法展示数据的来龙去脉。 作为Amundsen一项非常核心的功能,Lineage功能早已经提上日程,并进入设计与研发阶段。...image.png 当然这还只是初步的设计,未来可能会有更多的变化,我们会持续关注~ 附一张Apache Atlas此功能的实现图 image.png
一、前言 什么是数据血缘?数据血缘是数据产生、加工、转化,数据之间产生的关系。随着公司业务发展,通过数据血缘,能知道数据的流向,以便我们更好地进行数据治理。 二、为什么选择 Spline?...,但政采云大数据平台,基于业务需要,字段血缘需要跟作业绑定,若通过消费 Kafka 的方式,无法在获取字段血缘数据的同时跟作业绑定。...附,Spline REST 文档 1、血缘解析流程 Htools:政采云大数据平台的一个调度工具 IData:政采云大数据平台应用层 2、基于接口解析血缘 解析字段血缘,主要涉及到 Consumer...4、调优 表、字段血缘跟作业绑定,故,若作业无变化的情况,表、字段的血缘是不会变化的,在作业调度完后,调用解析血缘的接口时,我们结合当前作业版本和前一次血缘记录中的作业版本进行比对,若作业版本不一致的情况才更新血缘...,后续只有在作业版本有变化的时候才会重新解析血缘。
比如数据表格的Schema信息,任务的血缘关系,用户和脚本/任务的权限映射关系信息等等。...数据的血缘关系信息 血缘信息或者叫做Lineage的血统信息是什么,简单的说就是数据之间的上下游来源去向关系,数据从哪里来到哪里去。知道这个信息有什么用呢?...最后,关于数据的血缘关系跟踪,再多说两句。...,不能提前获取血缘信息 临时脚本或者错误的脚本逻辑对血缘关系数据的污染 简单总结一下,就是基于运行时的信息来采集血缘关系,由于缺乏静态的业务信息辅助,如何甄别和更新血缘关系的生命周期和有效性会是一个棘手的问题...当然,这种方案也有自己的短板需要克服,比如:如果脚本管控不到位,血缘关系分析可能覆盖不全;血缘关系是基于最新的脚本的静态的逻辑关系,无法做到基于某一次真实的运行实例进行分析。
近期花一个多月做了一个数据血缘图,由于涉及到一些图算法和盒子模型的知识点,具有一定的学习借鉴价值,同时应各位同事的要求,在此做一下分享。...搜索后,下部出现对应的该实体的链路图,链路中的节点需要分组,分层显示到对应的区域。...三 需求价值 市面上的一些血缘链路图 所有的血缘图都是节点和边组成,节点代表实体,表,api,应用,线代表任务或者作业。 有些血缘图数据流转没有从左到右的方向,而有些没有表现出分层的概念。...相比其他数据产品的血缘链路图,此次的改造,核心改良点有四个: 核心改良点: 数据链路中从左到右应包含,从数据源出发的表,到分层数据,未分层数据,接着到API,最后流转到APP。...搜索G6提供的相关图遍历方法,找到节点上下游遍历方法 做多种尝试,做出最小demo解决问题,一次一小步,逐步完成。
【本文大纲】 1、字段血缘分析的意义 2、实现方案选择 3、实现过程 4、总结 字段血缘分析的意义 数仓经常会碰到的两类问题: 1、两个数据报表进行对比,结果差异很大,需要人工核对分析指标的维度信息,比如从头分析数据指标从哪里来...处理条件是什么,最后才能分析出问题原因 ——数据回溯问题 2、基础数据表因某种原因需要修改字段,需要评估其对数仓的影响,费时费力,然后在做方案 —— 影响分析问题 这两类问题都属于数据血缘分析问题...,数据血缘分析还有其它的积极意义,比如: 问题定位分析 类似于影响分析,当程序运行出错时,可以方便找到问题的节点,并判断出问题的原因以及后续的影响 指标波动分析 当某个指标出现较大的波动时,可进行溯源分析...,判断是由哪条数据发生变化所导致的 数据体检 判定系统和数据的健康情况,是否存在大量的冗余数据、无效数据、无来源数据、重复计算、系统资源浪费等问题 数据评估 通过血缘分析和元数据,可以从数据的集中度、分布...代码 研究hive hooks 的api时,发现hive已经实现了一个血缘关系的hook: ? 只是这个hook 是把相关的依赖写在了 log里: ?
来源:火山引擎 DataFun 公众号后台回复: 报告 获取源文件 欢迎添加本站微信:datajh (可上下滑动或点单个图片放大左右滑动查看) 📷 📷 📷 ...
血缘抽取目标强依赖关系:识别sql执行结果保存[hive,mysql,hdfs]物理库表字段依赖链路,入库字段由哪些物理库表字段产生[select]。...血缘抽取对象公司内部POC脚本, 层级结构 { sciptMeta: 脚本基础信息 jobs: {//任务列表 jobid: [ //领域任务集合 E:{...血缘抽取技术方法Antlr4: 抽取SQL语法结构,通过visitor 遍历出SQL树递归收敛:抽取模型通过递归最后收敛到 QueryDefault(sql依赖关系主体)与 TableName (表与字段信息主体...对象模型SQL树对象模型图片血缘实体模型图片六. 抽取效果效果HDFS.parquet.
图 1. Spark-ETL 作业的 Spark-Lineage 视图示例 图 2....图 3. Spark-ETL 作业的示例图 在后端,我们直接在 Spark-ETL 中实现 Spark-Lineage,以从每个批处理作业中提取所有具有依赖关系的源表和目标表对。...更准确地说,我们使用NetworkX库来构建作业的工作流图,并在该作业的相应有向无环图 (DAG) 工作流中查找在它们之间具有路径的所有源表和目标表对。...例如,(输入表 1,输出表 2)是图 3 中的一对,因为它们之间存在路径,而(输入表 2,输出表 2)则不是。
其实问题很简单,一个存储过程会有多个输入表和输出表,一个存储过程的输出表可能会成为另外一个存储过程的输入表,从而将整个数据库的业务逻辑串接起来,基于长链会形成血缘关系,基于关联会形成聚合。
Hook在运行时采集血缘数据,发送到Kafka。Atlas消费Kafka数据,将关系写到图数据库JanusGraph,并提供REST API。...针对各个计算引擎和传输工具DataX开发不同的解析插件,将解析好的血缘数据发送到Kafka,实时消费Kafka,把关系数据写到分布式图数据JanusGraph。...具有很好的扩展性,通过多机集群可支持存储和查询数百亿的顶点和边的图数据。JanusGraph是一个事务数据库,支持大量用户高并发地执行复杂的实时图遍历。...以下是数据血缘写入图数据库的模型,Hive字段单独为一个Lable,关系型DB字段为一个Label,关系分两种,LABELWRITE,LABELWRITE_TTL。...5.6 效果 在第一版使用图的方式展示血缘关系,在上下游关系较多的时候,显示较为混乱,第二版改成树状表格的方式展示。
这周真的是忙出天际,趁这会儿下班,赶紧补补文档,之前有说要整整血缘这块儿,源码都看好了,但没有展示的地方。...后来调研说atlas不错,就想着用atlas跑一把,看能不能打通,最后经过状况百出的编译,还真是跑通了,借助各种开源组件,atlas能自动感知hivesql及sparksql的表血缘和字段血缘,真的太棒了...bin:$HADOOP_HOME/sbin:$PATH 使用环境变量起作用 source /etc/profile 配制hive-hook 咱这次是跑通hive、sparksql两个hook,来实现血缘关系自动导入...test表没有血缘: sparksql执行inerst语句: 刷新atlas页面,获取test表的sparksql执行血缘: 用hivesql insert另一张表(test666)后,可以看到atlas...获取到了hivesql执行的血缘: 字段血缘:
背景 做大数据的项目,必不可少的是要接触到数据血缘图,它在大数据项目中有着很重要的作用。...之前在公司也做过一些案例,也看过很多友商的产品,阿里的DataWork,领英的Datahub, datawork的血缘图使用的是 G6,自家的产品 Datahub使用的是 爱彼邻的 可视化库 visx...本篇文章就来谈谈datahub中的血缘图。...查看源码 点击此处链接你将看到 datahub中的血缘图, 由于是demo环境,数据有可能会被删掉,读者可以自行寻找。...该血缘图的特性如下 上下游 自定义节点 节点可点击,操作 线的样式有多种 鼠标放置线上有辅助信息 可以展开上下游 最基本的放大,缩小视图 F12 节点的源码,发现使用的是SVG 实现的 标签的类前缀都是
那么到底什么是数据的血缘关系 (data lineage) 呢? 维基百科上的定义是:数据从哪里来,往哪里去,中间发生了哪些变化。 马哈鱼数据血缘分析器通过分析 SQL 脚本,给出完整的数据血缘关系。...二、马哈鱼数据血缘分析器是怎样工作的 本视频介绍如何利用马哈鱼数据血缘分析器来快速发现 create view SQL 语句中各个表和字段的血缘关系,并用可视化的方式展现出来。...四、产品版本 1.马哈鱼数据血缘分析器 马哈鱼数据血缘分析器是一个 SaaS 服务。通过浏览器直接使用,无需安装任何软件。 通过浏览器访问马哈鱼数据血缘分析器。 在浏览器中上传SQL文本或文件。...点击分析按钮后,查看数据血缘关系的可视化结果。 在浏览器中,以交互形式,查看特定表或视图的完整血缘关系图。...六、马哈鱼数据血缘分析器的局限 马哈鱼数据血缘分析器仅仅通过分析 SQL 脚本,包含存储过程(proceudre, function, trigger)来获取数据库中 的数据血缘关系。
血缘分析是解决这类问题的一种技术手段。数据血缘(Data Lineage),指的是数据从产生、ETL处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。这些关系就是描述数据的数据(元数据)。...那么如何推导数据之间的血缘关系呢?其实在开发或者分析师团队提供的成百上千的数据脚本中,每一行代码背后都蕴含着业务逻辑和数据关系。...以 CPython 为例,编译过程如下: 将源代码解析为解析树(Parser Tree) 将解析树转换为抽象语法树(Abstract Syntax Tree) 将抽象语法树转换到控制流图(Control...Flow Graph) 根据流图将字节码(bytecode)发送给虚拟机(eval) 我们平常在python开发环境中编写代码时,IDE会提示各种编写过程中的语法错误,本质上是代码静态检查,对代码的内容和结构进行解析和分析
领取专属 10元无门槛券
手把手带您无忧上云