规范性 |
命名规范检查(表、视图、工作流、字段) |
是否符合MaxCompute数仓建设规范管理指南中命名规范的表命名规范。
|
|
代码格式和注释规范性 |
是否符合MaxCompute数仓建设规范管理指南中的编码规范。
|
|
表引用规范性 |
数据不允许跨层引用。 |
|
表更新策略规范 |
建议临时表均为非分区表,正式表均为分区表。 |
|
是否支持重跑 |
代码必须支持重跑。 |
|
源数据质量 |
非空值检查 |
检查所用字段是否存在空值,以及代码对空值处理的策略是否正确。 |
|
字段枚举值检查 |
字段的枚举值是否都在代码考虑范围内,是否有可能会出现新值。 |
|
主键检查 |
物理主键或逻辑主键是否成立。 |
|
数据完整性检查 |
代码中引用的数据能否支撑实际需求。 |
|
字段间逻辑检查 |
字段间的业务逻辑关系是否在数据上成立,例如余额=总的发放-总的回收。 |
|
代码质量/BUG检查 |
历史拉链表检查断链/交叉链 |
使用标准SQL进行检验。 |
|
数据倾斜检查 |
是否存在倾斜的情况,是否有大表join小表未用mapjoin等。 |
|
表分区选择检查 |
代码对表分区的选择是否正确。 |
|
关联条件检查 |
关联条件是否正确,是否会产生意料外的结果,例如多对多关联、笛卡尔积。 |
|
字段类型检查 |
字段类型是否正确,例如:金额字段必须为X数据类型,编号字段必须为X数据类型。 |
|
执行效率检查 |
单条SQL执行时间不超过30分钟,单个脚本执行时间不超过60分钟。 |
|
数仓特殊需求 |
脏数据检查 |
检查是否有脏数据。 |
|
增量/全量数据抽取规范 |
抽取时间大于X分钟的,则考虑更改为增量抽取。 |
|
数仓抽取时间点检查 |
数仓抽取时业务系统是否ready,抽取的数据是否完整。 |
|
指标特性检查 |
细分指标趋势检查 |
例如会员拉链表记录数相比前一天必须是正增长、当日累计值-上日累计值必须大于0。 |
|
不同粒度数据转换正确性 |
例如细粒度向粗粒度汇总,通常使用最大/最高/最小/最低等过滤条件,如:支用层逾期天数转换到客户层指标(最高逾期天数)。最高逾期天数 = Max(支用层逾期天数)。 |
|
值域范围检查 |
检查字段值的范围是否正确,如:金额>=0,比率<=1,天数<=业务起始日期至今,还款日期>=放款日期。 |
|
代码值分布检查 |
从业务逻辑考量字段值的分布情况是否合理。 |
|
可累加值与不可累加值检查 |
检查可累加值和不可累加值的处理逻辑正确性,如:计算客户数总计时需要做去重处理,金额则可以累加。 |
|