可行性验证:
需要分别验证:各区域的sql实现是否与口径定义一致
所属范围 | 验证内容 | 举例 |
---|---|---|
准确性 | 用户范围 | 注册各类平台的用户? |
地区范围 | region是否覆盖? | |
业务范围 | 是否包含**类业务 | |
时间范围 | 时间区间是否覆盖 | |
用户行为 | 用户的下单行为? | |
行为数据 | 下单行为则统计某一个字段 | |
计算逻辑 | 计算逻辑是否符合? |
及时性 | sla | 数据保障时间 |
marker/external task sensor | 上游依赖 | |
刷新范围 | 数据的刷新范围和频率 | 比如每天早上七点刷新最近七天的数据 |
数据质量控制:
验证内容 | 验证数据范围 | 验证方式 |
---|---|---|
验证空值分布 | 全量/抽样 | 查看特定关键字段为空值的比例 |
验证是否存在遗漏分区 | 全量 | 计算数据间某个字段的gap,正常情况下,gap值应该是a,如果超过a,需要排查数据是否有问题 |
查看数据的总体分布 | 全量/抽样 | 查看特定字段或者数据量的数据分布 |
查看数据最小分区 | 全量 | 查看数据的最小分区,避免遗漏数据 |
数据抽样检查 | 抽样 | 对数据进行抽样检查,验证数据逻辑是否准确 |
以上验证空值分布:
SELECT
xx_date
,
CAST
(
SUM
(
CASE
WHEN
id
IS
NULL
THEN
1
ELSE
0
END
)
AS
FLOAT
) /
COUNT
(*)
AS
id_NULL_RATE,
CAST
(
SUM
(
CASE
WHEN
name
IS
NULL
THEN
1
ELSE
0
END
)
AS
FLOAT
) /
COUNT
(*)
AS
name_NULL_RATE,
是否存在遗漏分区
查看数据总体分布