什么是大数据血缘?

作者: 测试帮日记 | 来源:发表于2019-07-25 20:00 被阅读4次

点击链接加入QQ群229390571(全国招聘信息、免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa

更多内容可以关注公众号:测试帮日记

今天跟一个测试同事聊天:

我:最近忙什么项目呢?

他:在测大数据血缘

我:啥?

他:血缘啊

我:啥血缘?

他:大数据血缘啊

我:血缘是啥?

他:就是数据血缘啊

我:...

看看,天就是这么被聊死的,我忍不住内心OS(怪不得你秃顶还没女朋友)

我赶紧回来问问 google,分析了各路答案之后,可以总结成两句话:

通常我们会对原始数据进行多个步骤的各种加工,最后产生出新的数据,在这个过程中会产生很多表,这些数据表之间的链路关系就可称为大数据血缘。

大数据血缘测试,就是测试数据流转过程中的每个环节的数据质量。

同时,数据血缘还有几个同义词:

Data Lineage 数据血缘(数据血统) = Data Provenance 数据起源 = Data Pedigree 数据谱系

在现实世界中,我们每个个体都是祖先通过生育关系一代代孕育而来,这样就形成了我们人类的各种血缘关系。

在数据信息时代,每时每刻都会产生庞大的数据,即我们通常说的大数据,对这些数据进行各种加工组合、转换,又会产生新的数据,这些数据之间就存在着天然的联系,我们把这些联系称为数据血缘关系。

直白点说,数据血缘就是指数据产生的链路关系,就是这个数据是怎么来的,经过了哪些过程和阶段。

下面举个通俗点的例子:

比如在淘宝网中,客户在淘宝网页中购买物品后,数据就被存到后台数据库表A中。我们希望查看某个月卖的最火的是哪些物品时,就需要对数据库中的原始数据进行加工汇总,形成一张中间表B来存储阶段处理的数据,若逻辑较复杂时,还要继续加工继续形成中间表。。。直到最后处理成我们前台展现使用的最终表,假设为C表。

那么A表是C表数据最初的来源,是C表数据的祖先。从A表数据到B表数据再到C表数据,这条链路就是C表的数据血缘。

在数据的处理过程中,从数据源头到最终的数据生成,每个环节都可能会导致我们出现数据质量的问题。比如我们数据源本身数据质量不高,在后续的处理环节中如果没有进行数据质量的检测和处理,那么这个数据信息最终流转到我们的目标表,它的数据质量也是不高的。也有可能在某个环节的数据处理中,我们对数据进行了一些不恰当的处理,导致后续环节的数据质量变得糟糕。

因此,对于数据的血缘关系,我们要确保每个环节都要注意数据质量的检测和处理,那么我们后续数据才会有优良的基因,即有很高的数据质量。

数据血缘的常见分析过程:

现在假设你是一名数据开发工程师,为了满足某个业务需求,需要生成最终表 X。

可能是出于程序逻辑清晰或者性能优化的考虑,你为了生成这张表,通过 MR、Spark 或者 Hive 来生成很多中间表。

如下图,是你将花费时间来实现的整个数据流,其中:

Table X 是最终给到业务侧的表

蓝色的 Table A-E,是原始数据

黄色的 Table F-I ,是你计算出来的中间表,这些都是你自己写程序要处理的表

Table J ,是别人处理过的结果表,因为本着不重复开发的原则,你很可能要用到同事小伙伴处理的表

过了一段时间后,业务侧的感觉你提供的数据中有个字段总是不太对劲,其实就是怀疑你的数据出问题!需要你来追踪一下这个字段的来源。

首先你从 Table X 中找到了异常的字段,然后定位到了它来源于 Table I,再从 Table I 定位到了它来源于 Table G, 再从 Table G 追溯到了 Table D,最终发现是某几天的来源数据有异常。或者说,你从 Table X 定位到了异常的字段原来来自于其它小伙伴处理的表 Table J,然后继续向前回溯,找到了这张表在处理过程中的某一个步出现了问题。

上面的过程是数据血缘分析的过程。

到此,相信你已经大概明白血缘是啥了。

再啰嗦两句,其实数据血缘并不难,只是概念比较高大上而已,实际我们测试的时候跟普通的 sql 操作差不多,只是用到的语法是 hive、sqoop、pig 等组件相对应的语法,不是常见的 sql 语法而已。

相关文章

  • 什么是大数据血缘?

    点击链接加入QQ群229390571(全国招聘信息、免费公开课、视频应有尽有):https://jq.qq.com...

  • 数据之间竟然也有“血缘关系”?

    你知道数据之间的血缘关系是指什么吗? 数据血缘是什么 人类社会中,血缘关系通常是指由婚姻或生育而产生的人际关系,例...

  • 基于Calcite解析Flink SQL列级数据血缘

    数据血缘 数据血缘(data lineage)是数据治理(data governance)的重要组成部分,也是元数...

  • 数据血缘

    数据血缘的定义 数据血缘即数据的来龙去脉,主要包含数据的来源、数据的加工方式、映射关系以及数据出口。数据血缘属于元...

  • 数据血缘关系探析

    数据血缘关系,从概念来讲很好理解,即数据的全生命周期中,数据与数据之间会形成多种多样的关系,这些关系与人类的血缘关...

  • 数据治理篇-元数据-血缘分析: queryparser概述

    前言 数据字典 DataDictionary 数据血缘 DataLineage 元数据触发器 MetaTrigge...

  • 数据血缘关系

    数据管理——数据血缘关系概述[https://www.cnblogs.com/zhangleisanshi/p/7...

  • 元数据中心的简单思路

    元数据可以简单解释为数据的数据,而元数据可以分为数据字典、数据血缘和数据特征,是统一指标和业务口径的前提。 元数据...

  • 血缘是信仰?

    最近我老在揣摩这句话:“人类悲惨境况的根源在于,他们对待亲属和非亲属的态度截然不同,这是人类社会生活中最明显的一个...

  • 你了解你的数据吗(化神篇):简易特征分析

    0x00 前言 对于数据的使用,我们不管是需要了解数据质量、数据口径亦或是数据血缘,最终都将会走向对数据价值的探索...

网友评论

    本文标题:什么是大数据血缘?

    本文链接:https://www.haomeiwen.com/subject/rmukrctx.html