数据治理分为元数据管理和数据质量管理
元数据管理
- 技术元数据和业务元数据
- 我们整个数仓是为三类人使用的
-- 一个是业务人员,业务人员要知道我们整个数仓处理完成的结果,存放在哪里,存放在数仓那个表里或者哪里可以查看到
-- 数仓开发人员, 数仓开发人员 要知道 整个数仓的分层, 每层有那些表 表与表之间的血缘关系 ETL策略等
-- 决策层 要知道整个数仓有哪些业务哪些内容, 根据这些业务和内容能分析出什么方面的结果
解决方案:
- 宁波银行有一个数据资产门户,在该门户网站上面, 分部门 业务线 存放数仓产出的报表,或者直接搜素报表名称 进行报表查看
--我在其中就是将我 发布在tableau server 服务器上的报表地址 采集到数据资产门户 - 就是我们数仓开发人员 能快速上手整个数仓, 我先说我知道 阿帕奇的亚特兰蒂斯 可以根据我们提供的建表语句和 跑批脚本 自动的构建表与表之间的血缘关系
宁波银行的处理方案是 有一个自研的调度工具 和资源监控工具 jmp ,每次我们投产的时候 手动填写 我们投产脚本所设计的来源表, 然后再jmp上面 可以查看该表的上游表和下游表,还可以查看脚本逻辑 实现表与表之间的血缘关系, 然后字段和字段之间的血缘关系 我们是手动mapping的 不过我们一把都是结合脚本看
然后通过表明可以查看 etl策略 全量表是05 增量表是03 ods表要加上源系统的名称 方便找源系统业务老师查看
数据质量管理
三部分
数据清洗
主要是缺省值和异常值的处理
-
缺省值 查看其缺省范围和字段是否重要
一些字段不重要 缺省的又多可以直接舍弃
当然先要跟源系统确认, 看一下 是不是数据 -
异常值
不允许出现null 值啊, 进行nvl collease 非空转换,
日期格式, dataformat 进行处理
或者是两个加工口径,强行合并成一张表 要保持每个字段的规范话
码值信息要带码值释义,没有要构建码值表
过滤掉测试数据等
数据预警
- 主键校检 每张表,会有一个物理主键,必须有业务意义 我的红利计划明细表就是按照 活动id+订单id 进行拼凑的,如果报主键重复 那么我就要查看一下 具体信息
- 云校检 云校检 主要是跟业务和加工逻辑有关 比如说我之前的红利计划明细表 是过滤的符合该活动的用户 且用户获奖信息可以从两张副表获取得到,有两个渠道 如果有一天 我活动用户的获奖信息 取不到了,会报错 然后我就去分析和调研 看是新增了一个渠道 还是什么情况
数据使用
- 数据异常
- 数据时效问题, 某一天某一个月的数据没有, 或者创建的是新表,之前的数据没有
- 总分对账 某天每个
- 业务问题 数仓的上游使用人员,了解业务的话 一定是从表中的字段进行理解 当有疑问的情况下,就提交给模型组去问源系统,或者直接去问等
由模型组 统一处理
总上,还有一个实现的前提条件 就是 开发一定按照数仓规范进行开发
网友评论