概念
了解数据形态,探索数据是否可靠,找出潜在问题与风险,并为开发提供指导。如果当前数据质量无法支撑需求实现,寻求新的替代方案或项目回退。
内容
- 源表数据主键字段重复数。
- 源表字段空值/异常值的统计数。
- 源表之间关联关系。
- 源表字段的数据格式。
- 源表增量规则。
探查方式
字段探查
// 数据探查
select count(*) as `总行数`
,sum(decode(col, null, 1, 0)) as `空值个数`
,round(sum(decode(col, null, 1, 0)) / count(*), 2) as `空值比例`
-- 小数据量非重复值数目查询
,count(distinct col) as `唯一个数`
-- 非重复值的近似数目,5%标准误差
,approx_distinct(col) as `唯一个数`
,min(col) as `最小值`
,max(col) as `最大值`
,round(avg(col), 2) as `均值`
,median(col) as `中位数`
-- 小数据量分位数查询
,percentile(col, 0.01) as `1%分位数`
,percentile(col, 0.05) as `5%分位数`
,percentile(col, 0.25) as `25%分位数`
,percentile(col, 0.5) as `中位数`
,percentile(col, 0.75) as `75%分位数`
,percentile(col, 0.95) as `95%分位数`
,percentile(col, 0.99) as `99%分位数`
-- 大数据量分位数查询 PERCENTILE_APPROX(DOUBLE col, p [, B]))
-- p:百分比;B:精度参数
,round(percentile_approx(col, 0.01, 10000), 2) as `1%分位数`
,round(percentile_approx(col, 0.05, 10000), 2) as `5%分位数`
,round(percentile_approx(col, 0.25, 10000), 2) as `25%分位数`
,round(percentile_approx(col, 0.5, 10000), 2) as `中位数`
,round(percentile_approx(col, 0.75, 10000), 2) as `75%分位数`
,round(percentile_approx(col, 0.95, 10000), 2) as `95%分位数`
,round(percentile_approx(col, 0.99, 10000), 2) as `99%分位数`
from table
;
表探查
通过ER图,探查表与表关联关系
数据探查报告模板
| 序号 | 字段名 | 字段注释 | 字段类型 | 总行数 | 空值个数 | 空值比例 | 唯一个数 | 均值 | 最小值 | 1%分位数 | 5%分位数 | 25%分位数 | 中位数 | 75%分位数 | 95%分位数 | 99%分位数 | 最大值 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
数据探查与质量评估
本文探讨了数据探查的重要性,旨在理解数据形态,检查数据可靠性,发现潜在问题和风险,为项目决策提供依据。内容涉及源表的主键重复、空值异常统计、关联关系、数据格式和增量规则等,通过字段和表探查方法,结合ER图来构建数据探查报告。
832

被折叠的 条评论
为什么被折叠?



