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

”数据血缘“入门

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

10.1K51

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

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

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

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

SQLLineage 是一个使用 Python 开发的 SQL 血缘分析工具。它专注于提供 SQL 查询的血缘关系和依赖关系的深入分析。...一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...一些更高级的用法: 处理多个 SQL 语句: 可以分析包含多个 SQL 语句的查询,识别中间表。 详细血缘结果: 提供详细的血缘分析结果,每个 SQL 语句的血缘信息都可以显示出来。...列级血缘 可以分析列级血缘,比如下面的sql。

1.3K10

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

SQLLineage 是一个使用 Python 开发的 SQL 血缘分析工具。它专注于提供 SQL 查询的血缘关系和依赖关系的深入分析。...一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...一些更高级的用法: 处理多个 SQL 语句: 可以分析包含多个 SQL 语句的查询,识别中间表。 详细血缘结果: 提供详细的血缘分析结果,每个 SQL 语句的血缘信息都可以显示出来。...列级血缘 可以分析列级血缘,比如下面的sql。

46710

聊聊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中的字段级别血缘关系 具体设置如下 ``<name...org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext接口的java class列表,配置了该参数后,每个hiveQL语句执行后都要执行这个钩子,默认是空; hive支持以下四种语句的血缘分析

1.5K10

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

SQLLineage 是一个使用 Python 开发的 SQL 血缘分析工具。它专注于提供 SQL 查询的血缘关系和依赖关系的深入分析。...一、概述 简单来说SQLLineage 是一SQL血缘分析工具,而由于SQL在数据分析中的通用性,SQLLineage 是一数据血缘分析工具。...而SQLLineage可以通过多SQL的分析来快速的了解血缘的来龙去脉,所以说是一个数据血缘分析神器。 我们假设有这样的一个SQL。 通过SQLLineage可以快速的分析出表级别的血缘。...一些更高级的用法: 处理多个 SQL 语句: 可以分析包含多个 SQL 语句的查询,识别中间表。 详细血缘结果: 提供详细的血缘分析结果,每个 SQL 语句的血缘信息都可以显示出来。...列级血缘 可以分析列级血缘,比如下面的sql。

50010

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

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

7.4K83

Spark App 血缘解析方案

作者:三余 部门:数据中台 一.背景 随着数据仓库数据量的增长,数据血缘( Data Lineage or Data Provence ) 对于数据分析来说日益重要, 通过数据血缘可以追溯表-表,表-...基于日志解析:通过分析例如 Spark App 的 event log 信息,然后解析出任务的血缘。...因为Spark App 的写法多样,基于代码的解析需要考虑java、python、 scala,显得过于复杂,我们首先考虑了基于日志的分析。...通过分析 spark3 和 spark2 的任务的历史 event log 发现,spark2 的 event log 没有完整的 hive表 相关的元信息,而 spark3 则在各种读取算子例如 FileSourceScanExec...基于此我们最终采用了基于动态监听的方式,并且调研了 spline, 进行了可用性分析。下面介绍下 spline 的使用和设计原理。 三.

2.2K30

基于Spline的数据血缘解析

一、前言 什么是数据血缘?数据血缘是数据产生、加工、转化,数据之间产生的关系。随着公司业务发展,通过数据血缘,能知道数据的流向,以便我们更好地进行数据治理。 二、为什么选择 Spline?...,但政采云大数据平台,基于业务需要,字段血缘需要跟作业绑定,若通过消费 Kafka 的方式,无法在获取字段血缘数据的同时跟作业绑定。...附,Spline REST 文档 1、血缘解析流程 Htools:政采云大数据平台的一个调度工具 IData:政采云大数据平台应用层 2、基于接口解析血缘 解析字段血缘,主要涉及到 Consumer...4、调优 表、字段血缘跟作业绑定,故,若作业无变化的情况,表、字段的血缘是不会变化的,在作业调度完后,调用解析血缘的接口时,我们结合当前作业版本和前一次血缘记录中的作业版本进行比对,若作业版本不一致的情况才更新血缘...,后续只有在作业版本有变化的时候才会重新解析血缘

54520

元数据管理与数据血缘

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

38310

元数据管理实践&数据血缘

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

1.6K40

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

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

4.4K70

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

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

1.3K20

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

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

4.6K20
领券