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