学习
实践
活动
工具
TVP
写文章

”数据血缘“入门

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

7.8K51

IBD血缘同源简介

IBD全称Identity By Descent, 又叫做血缘同源,指的是两个个体中共有的等位基因来源于共同祖先;IBS全称Identity By State, 又叫做状态同源,指的是两个个体中共有的等位基因序列相同

2.7K20
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

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

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

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

    1100

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

    正文开始: 通过本文档,可以快速的解决Hive在Altas字段级血缘没有生成的问题,并了解Hive数据血缘实现原理。更多元数据管理,数据血缘相关文章,可以关注后续的文章更新。 特别强调一下LineageLogger和LineageInfo,对于做Hive血缘关系分析很有参考价值,这个下文会说。 Hive提供了org.apache.hadoop.hive.ql.tools.LineageInfo类,可以用来分析HiveQL中的表级别血缘关系。 Hive提供了org.apache.hadoop.hive.ql.hooks.LineageLogger类,可以用来分析HiveQL中的字段级别血缘关系 具体设置如下 <property> ``<name org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext接口的java class列表,配置了该参数后,每个hiveQL语句执行后都要执行这个钩子,默认是空; hive支持以下四种语句的血缘分析

    6310

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

    本篇将引入一个新的概念:数据血缘分析 ,或者叫血统分析。 0x01 血缘分析 那么什么是数据血缘分析呢?在这里我们不给出它的严谨的定义,仅从感觉上来解释一下这个东西。 上面的过程是数据血缘分析的过程。 0x02 数据血缘分析有什么用??? 咋一看,其实感觉数据血缘分析并没有什么用,其实就我个人感觉来看,其实的确没什么用,特别是在你的业务规模比较小并且数据合作不频繁的情况下,基本不需要数据血缘分析。 但是当遇到了下面一些场景的时候,数据血缘绝对能帮你提高很高的效率。 问题定位。上面的例子,假设你用到了别人的数据,数据血缘分析能快速帮你定位到问题。 理解数据。 比如说现在你的小伙伴要调整自己开发的 Table J,这时候如果他不知道有谁在依赖这张表,冒然修改的话会带来毁灭性的伤害,但是有数据血缘分析的时候,至少能知道谁在使用这份数据。

    6.2K83

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

    目录 一、应用 1.1 执行SQL 1.2 手写的数据地图 1.3 atlas血缘分析 1.4 打标签 1.4.1 CLASSIFICATION分类 1.4.2 GLOSSARY词汇表 1.5 字段搜索 dw.dw_zbchannel tp ON t2.pageid = tp.channelid ) t3 ) t4 WHERE rk = 1; 1.2 手写的数据地图 1.3 atlas血缘分析 1.5 字段搜索 1.5.1查看表字段 1.5.2 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。

    1.1K11

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

    目录 一、应用 1.1 执行SQL 1.2 手写的数据地图 1.3 atlas血缘分析 1.4 打标签 1.4.1 CLASSIFICATION分类 1.4.2 GLOSSARY词汇表 1.5 字段搜索 dw.dw_zbchannel tp ON t2.pageid = tp.channelid ) t3 ) t4 WHERE rk = 1; 1.2 手写的数据地图 1.3 atlas血缘分析 1.5 字段搜索 1.5.1查看表字段 1.5.2 追踪字段关系 说明:强大地血缘关系可以直接查看出整条字段的数据链路。

    46910

    前瞻|Amundsen的数据血缘功能

    目前,Amundsen并不支持表级别和列级别的数据血缘功能,也没有办法展示数据的来龙去脉。 作为Amundsen一项非常核心的功能,Lineage功能早已经提上日程,并进入设计与研发阶段。

    90220

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

    Spark 和 Spark-ETL:在 Yelp,Spark被认为是一等公民,处理各个角落的批量工作,从处理评论到识别同一地区的相似餐厅,到执行有关优化本地业务搜索的报告分析。 另一方面,在 Redshift 中存储数据非常持久且易于查询以用于分析目的。在 Yelp,我们每天大约有数千个批次,平均每个作业发出大约 10 条消息。 Feature Store Yelp 的 ML Feature Store 收集和存储特征并将其提供给消费者以构建机器学习模型或运行 Spark 作业,并为数据分析师提供决策见解。 由此,我们可以执行数据分析来推广或推荐好的特性,或者指导我们生成我们认为对我们的机器学习工程师有益的类似特性。

    15420

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

    【本文大纲】 1、字段血缘分析的意义 2、实现方案选择 3、实现过程 4、总结 字段血缘分析的意义 数仓经常会碰到的两类问题: 1、两个数据报表进行对比,结果差异很大,需要人工核对分析指标的维度信息,比如从头分析数据指标从哪里来 ,处理条件是什么,最后才能分析出问题原因 ——数据回溯问题 2、基础数据表因某种原因需要修改字段,需要评估其对数仓的影响,费时费力,然后在做方案 —— 影响分析问题 这两类问题都属于数据血缘分析问题 ,数据血缘分析还有其它的积极意义,比如: 问题定位分析 类似于影响分析,当程序运行出错时,可以方便找到问题的节点,并判断出问题的原因以及后续的影响 指标波动分析 当某个指标出现较大的波动时,可进行溯源分析 ,判断是由哪条数据发生变化所导致的 数据体检 判定系统和数据的健康情况,是否存在大量的冗余数据、无效数据、无来源数据、重复计算、系统资源浪费等问题 数据评估 通过血缘分析和元数据,可以从数据的集中度、分布 代码 研究hive hooks 的api时,发现hive已经实现了一个血缘关系的hook: ? 只是这个hook 是把相关的依赖写在了 log里: ?

    3.3K70

    马哈鱼带你发现SQL中的数据血缘

    那么到底什么是数据的血缘关系 (data lineage) 呢? 维基百科上的定义是:数据从哪里来,往哪里去,中间发生了哪些变化。 马哈鱼数据血缘分析器通过分析 SQL 脚本,给出完整的数据血缘关系。 二、马哈鱼数据血缘分析器是怎样工作的 本视频介绍如何利用马哈鱼数据血缘分析器来快速发现 create view SQL 语句中各个表和字段的血缘关系,并用可视化的方式展现出来。 四、产品版本 1.马哈鱼数据血缘分析器 马哈鱼数据血缘分析器是一个 SaaS 服务。通过浏览器直接使用,无需安装任何软件。 通过浏览器访问马哈鱼数据血缘分析器。 在浏览器中上传SQL文本或文件。 五、马哈鱼数据血缘分析器的组成 Backend, 后台由一系列 Java 程序组成。负责 SQL 的解析、数据血缘分析、可视化元素的布局、身份认证等。 六、马哈鱼数据血缘分析器的局限 马哈鱼数据血缘分析器仅仅通过分析 SQL 脚本,包含存储过程(proceudre, function, trigger)来获取数据库中 的数据血缘关系。

    1.2K20

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

    最近在进行数据逆向分析,无业务无界面无数据库的情况下,想通过对存储过程中关于输出输入表的分析快速了解业务的核心问题,然后再对核心业务进行逆向回溯。 其实问题很简单,一个存储过程会有多个输入表和输出表,一个存储过程的输出表可能会成为另外一个存储过程的输入表,从而将整个数据库的业务逻辑串接起来,基于长链会形成血缘关系,基于关联会形成聚合。

    61021

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

    数据血缘用途: 追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因;影响面分析,追踪数据的来源,追踪数据处理过程。 二、构建血缘的方案 2.1 收集方式 方案一:只收集SQL,事后分析。 当SQL执行结束,收集SQL到DB或者Kafka。 方案二:运行时分析SQL并收集。 当SQL执行结束后立即分析Lineage,异步发送到Kafka。 优点:运行时的状态和信息是最准确的,不会有SQL解析语法错误。 它从不同的源系统中采集元数据,并进行标准化和建模,从而作为元数据仓库完成血缘分析。 三、携程方案 携程采用了方案二,运行时分析SQL并收集分析结果到Kafka。由于开源方案在现阶段不满足需求,则自行开发。

    2.1K20

    数仓血缘关系数据的存储与读写

    二、业务需求背景介绍 为方便数据治理、元数据管理及数据质量监控,将调度系统生成的数仓血缘保存起来。 血缘数据流程 从采集、存储到平台展示的数据全流程: [血缘数据流程] 在查询平台的部分数据查询展示 [数据查询展示] 三、我的具体实践 1、版本选择 这里我们采用了 Nebula v3.0.0、Nebula 定时调度矫正数据 通过 MySQL 中的血缘关系,通过 Spark 任务定时校正 Nebula 数据,更新数据同样通过 Spark Connector 实现。 5、数据平台查询 数据平台查询血缘的应用: a. 获取 Nebula 数据实现过程 通过初始化连接池 Nebula pool,实现单例工具类,方便在整个项目中调用并使用 Session。

    24020

    Spark SQL 字段血缘在 vivo 互联网的实践

    作者:vivo互联网服务器团队-Hao Guangshi 一、背景 字段血缘是在表处理的过程中将字段的处理过程保留下来。为什么会需要字段血缘呢? 有了字段间的血缘关系,便可以知道数据的来源去处,以及字段之间的转换关系,这样对数据的质量,治理有很大的帮助。 平台计划将 Hive 任务迁移到 Spark SQL 上,同时也需要实现字段血缘的功能。 二、前期调研 开发前我们做了很多相关调研,从中得知 Spark 是支持扩展的:允许用户对 Spark SQL 的 SQL 解析、逻辑计划的分析和检查、逻辑计划的优化、物理计划的形成等进行扩展。 SQL 扩展 3.1 Spark 可扩展的内容 SparkSessionExtensions是比较重要的一个类,其中定义了注入规则的方法,现在支持以下内容: 【Analyzer Rules】逻辑计划分析规则

    49820

    元数据:跨引擎超完备字段级血缘关系解题方法

    影响度分析 影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造或者数据延迟,能动态数据结构变更、删除及时告知下游系统。 数据价值访问评估一些常用的维度:表的访问频率分析、表分区数据访问分析、跨表访问分析、跨层访问分析、跨库访问分析、字段访问频率分析、表访问用户量分析和分层表访问总量分析等。 正解就是根据不同组件,编写不同词法文件,生成词法分析器、语法分析器,对抽象语法树遍历,生成血缘关系,再次整合局部血缘,最终生成全局血缘完备血缘关系。 1.准备词法文件 笔者这里使用Antlr4编写词法文件,词法分析器、语法分析器、对抽象语法树遍历来生成血缘关系,以Hive引擎为例,其他引擎方法类似。 准备好词法文件,词法分析器、语法分析器、用访问者模式遍历抽象语法树来生成血缘关系。

    3150

    Datahub新版本0.9.1更新,列级别数据血缘功能发布!

    近期Datahub进行了一次大的版本更新,从0.9版本以后Datahub也正式发布了列级别数据血缘的功能。 0.9.1版本又增加了,列的影响分析这个功能。 这样Datahub对于列级别数据血缘的功能支撑就非常完善了。 目前Datahub支持列级别数据血缘的主要功能有。 1、建立列级别数据血缘的API 2、Snowflake和Looker,Tableau的列级别数据血缘实现 3、列级别数据血缘的可视化 4、列的影响分析 列级别的数据血缘非常的重要。 主要是从“来”和“去”两个方向对于数据血缘进行分析。 1、理解列如何计算产生的。 该列是否由敏感数据计算产生。 计算该列数据都进行了什么运算? 与Atlas的展示不同,Datahub将列血缘和数据集血缘放在了一起展示,对于数据脉络的理解也更加的清晰。

    10210

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

    数据血缘关系包含了集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系,其指向数据的上游来源,向上游追根溯源。 数据血缘关系 通过对oracle、greenplumn、mysql、hive、presto、spark和flink多引擎等等覆盖,实现生成数据血缘关系、数据价值分析、影响度分析和数据存储生命周期管理。 (粒度可选),上游依赖路径长度展示(路径长度可选),字段加工逻辑清晰可见 数据价值分析: 在生成数据血缘关系或数据流向时,访问方式、访问集群、应用、系统、表、分区和字段数据访问频次、存储方式、访问部门、 影响度分析: 字段下游依赖检索:定位集群、系统、表、字段多层级别粒度展示(粒度可选),下游依赖路径长度展示(路径长度可选),实现影响度分析清晰定位。 如影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。

    2K30

    【Flink】第三十二篇:Flink SQL 字段血缘中树的构建与遍历

    相关推荐: 【Flink】第二十七篇:三天撸了一个 Flink SQL 字段血缘算法 【Flink】第二十八篇:Flink SQL 与 Apache Calcite 【Flink】第二十九篇:源码分析 Blink Planner 从【Flink】第二十七篇:三天撸了一个 Flink SQL 字段血缘算法 这篇文章开始,笔者开启了一个Flink SQL字段血缘实现的探索之路。 顺着这些分析结论,我们接下来处理它,并最终画出source表到sink表的字段血缘关系。 递归遍历画血字段缘 ---- 接下来我们如何在遍历二叉树的过程中进行字段血缘分析呢? match field faild:" + node.getData().getId()); } } return fields; } 综合以上,我们来看看最终程序的血缘分析运行结果

    72540

    扫码关注腾讯云开发者

    领取腾讯云代金券