小B是一名数据分析师,他问小A XXX的所有指标给我一下,小A“鄙视的”给了他一个文档。
元数据知道多少
小B作为一名数据分析师,为什么自己没能去找到数据呢?
这就要说下数据仓库的元数据管理。我们都知道传统的数据库中每张表都有注释,包括表注释,字段注释,你拿到一个不熟悉的表肯定要先看注释,然后才知道每个字段的意思。就像你学习英语的时候查那本牛津字典一样,你能很快查到每个单词的意思,不就你还能看单词“猜出”一个单词的意思。同样数据仓库也有这样一套“注释”,我们称之为元数据。
数据仓库的元数据是负责记录和管理数据的含义、格式、血缘关系等。
作为数据分析师,做分析之前,你都要先知道自己需要什么数据,去哪找到这些数据。没错,就是数据仓库的元数据管理系统。所以,理解数据仓库,需要从元数据开始。
元数据中有什么
- 模型说明,模型的业务含义,所属主题,数据分析师可以通过说明知道模型存储的是什么数据
- 模型字段,模型中每个字段代表的意思,数据分析师可以了解模型中有哪些指标数据和维度信息
- 模型需求来源,这个模型的需求谁提出来的,还是建模人员自己规划的,可以帮助数据分析师了解模型建立的初衷
- 模型开发者,就像你代码一样,最上面都是author 。数据分析师可以找到对应的模型开发者了解一切他想要的信息。
- 模型存储信息,包括分区信息,数据大小信息,数据波动情况等,数据分析师了解后,不至于一个SQL把即席查询搞死。
- 血缘关系,数据分析师可以了解模型里面字段的来龙去脉,在出现数据问题时,进行追踪溯源,找出“始作俑者”。
- 变更记录,数据分析师后续进行大时间范围的分析时,方便确定数据的有效可用范围。比如,20200101变更模型,增加注释“2020增加字段a,2020年之前无该字段数据”。
模型开发者眼中的元数据
上面的元数据很大意义上是给数据分析师看的,其实还有一部分元数据是给模型开发人员看的。
- 模型中字段的合法值类型、范围等
- ETL程序使用的转换规则
- UDF(自定义函数)说明
- ETL报错代码含义
- ……
模型开发人员除了做好“数据分析师眼中的”元数据,还要管理好“开发的”元数据。
总结
元数据承担着数据治理的重任,完整的元数据管理系统是数据仓库建设成功的根基,也是数据仓库发挥作用大小的决定项之一。
最为数据分析师,使用好元数据,可以快速帮助你更快的构建特征工程。
大家的元数据建设都是怎样的,有什么困惑,可以留言分享下。