美文网首页测试文章
一定要做 "数据探查"!

一定要做 "数据探查"!

作者: 李春辉 | 来源:发表于2022-03-15 17:33 被阅读0次

一定要做"数据探查"!
一定要做"数据探查"!
一定要做"数据探查"!

问:什么是数据探查?
答:数据探查简单说就是对数据进行一遍分析以便了解数据真实情况。
问:为什么要进行数据探查?
问:谁来做?
问:怎么做?

Why:为什么数据探查?

在数据平台或数据中台项目当中,数据的真实情况远超我们能预想到的,存在各种意想不到的场景或异常数据,经过数据探查,完善大家对数据的认识,避免由于不了解数据而遗漏场景,做到提前预防;同时,经过探查也可及时发现一些缺陷,尽早处理,从而加强质量保障。

What:数据探查什么?

  • Input源数据表或文件
  • Ouput结果表或文件
  • 重点探查关键字段(即:设计到逻辑处理的字段以及处理结果字段)

Input源数据表或文件

  • 【正确性】关键字段元数据内容(字段名、类型、长度)是否符合预期
  • 【正确性】关键字段value符合需求预期的真实情况;比如:sales_type字段是本店销售、他店销售
  • 【有效性】关键字段value中有没有空串或NULL或0;
  • 【有效性】关键字段value中有没有不正常或异常数据出现,(比如:身份证号有6位以下的数)
  • 【完整性】需要关联的表,检查有没有关联不上的情况。(如:销售事实表关键维表发现太多记录无法关联上正确的车型)
  • 【完整性】探索真实数据量情况(数据量大小可能会影响到开发人员的实现方案)
  • 【及时性】探索数据更新频率与及时性是否符合预期
源数据表数据探查

Ouput目标表或文件

  • 【正确性】关键字段元数据内容(字段名、类型、长度)是否符合预期
  • 【唯一性】主键唯一性检查,确保没有重复值
  • 【正确性】 关键字段value符合需求预期的真实情况;比如:性别标签结果是男、女、未知。
  • 【有效性】关键字段value中有没有空串或NULL或0;
  • 【有效性】关键字段value中,有没有出现不符合实际情况的值。(比如: 日新增订单变成负数;再比如:日取消订单远大于日新增数)
  • 【一致性】关键字段的相同语义下,字段名称、类型、长度要保持统一
  • 【一致性】相同字段的value定义要保持统一
  • 【正确性】统计结果表的关键字段,数据分布。(比如:人车关系标签,发现 一人关联了几万车,比如: oneid列为空的有四分之一)
  • 【完整性】统计结果表的数据量与预期是否一致
  • 【正确性】数据结果蜕变测试验证
  • 【正确性】数据结果分布是否符合预期
  • 【正确性】数据结果趋势是否平滑,有突增突减可能不正常
  • 【及时性】结果数据更新频率与及时性是否符合预期
结果表数据探索

上线之后探索结果表或文件

  • 【有效性】探索相关表或文件的数据报告,确保没有发现异常情况。
  • 【完整性】探索线上分区齐全
  • 【完整性】探索线上每个分区数据量符合预期
  • 【及时性】探索线上每个分区、重点最新分区数据分布情况符合预期
  • 【正确性】探索线上最新分区数据value正确【找一条数据核实结果正确】
  • 【正确性】数据结果蜕变测试验证
  • 【正确性】数据结果分布是否符合预期
  • 【正确性】数据结果趋势是否平滑,有突增突减可能不正常
  • 【性能】检查性能,上线后数据查询或调用性能

Who:谁进行数据探查

数据探查的目标就是更加了解业务与数据情况,提前预防问题或及时发现问题。因此,提早参与,尽早预防。

数据探查执行阶段
  • 需求分析阶段(write story):
    (1)在分析需求或编写故事卡阶段,重点关注真实数据与需求描述一致,且没有存在需求遗漏或与需求冲突的数据场景。
    (2)优先BA、实在不行由DA或DE代替执行
  • 需求评审阶段(review story):
    (1)在story review阶段进行数据探查,验证需求与真实数据无冲突或遗漏,QA同步编写test checklist补充细节。
    (2)QA执行、如果没有QA的团队,BA或DE进行数据探查时核实这一步。
  • 故事卡启动(Kick off)
    (1)在数据开发之前,先进行spike,对数据进一步从技术视角探查,有新发现及时补充信息,如有问题提前反馈。
    (2)DE执行
  • 故事卡验收(Sign off)
    (1)在Desk check|结卡前,DE自测时,对结果进行数据探查。及时发现问题,及时修正。
    (2)DE执行
  • DataPublish/UAT环境/生产环境(QA in Production):
    (1)对结果数据进行数据探查,及时发现问题,及时修正。
    (2)DE执行(部署后立即执行 - Data publish阶段),QA执行(QA in production阶段),其他角色:团队其他角色包括PO和业务人员在内,在数据发布后,进行数据探查验证,从业务使用视角出发探查结果。

How:怎么做?

  • 工具:优先推荐使用工具完成一些通用的数据质量检查项,如:数据量、主键唯一、空值、值分布、样例数据等。如:data profiling、great expections。
  • 脚本:现成产品或工具不能支撑的,可以自己写脚本或SQL进行手动探查,如数据结果的分布与趋势等。
  • 推荐:推荐团队自行开发工具,自动化数据探查(我们团队内部有自己开发的数据质量检查工具)。

参考
蜕变测试验证,在这里指对于结果之间有一定关系的时候,我们可以找到相应的关系来检验是否有BUG。
举例:经销店A的当日新增订单数 > 经销店B的当日新增订单数,那么,经销店A的当日新增有效订单数一定大于经经销店B的当日新增有效订单数。

相关文章

  • 一定要做 "数据探查"!

    一定要做"数据探查"!一定要做"数据探查"!一定要做"数据探查"! 问:什么是数据探查?答:数据探查简单说就是对数...

  • 数据探查

    刚上手想直接用python处理数据,但是发现导入csv之后的数据集划分以及特征提取这里有点混乱,决定还是重新好好看...

  • XXXX项目抽取工作

    进行数据探查时,如果源库是oracle,记得一定加上这句话!切记切记import osos.environ['NL...

  • 数据治理-v1

    参考DAMA教材,数据质量提升的步骤包括了数据剖析(数据探查)、原因梳理及实施的3步不断迭代循环。 数据剖...

  • 探查

    唉,这里为什么荒无人烟太有趣了吧?其他地方收成还不错,我去考察一下还真的不错,可是这个地方人烟稀少,究竟是怎么回事...

  • 73_elasticsearch高手进阶_基于term vect

    73_elasticsearch高手进阶_基于term vector深入探查数据的情况 1、term vector...

  • 数据思维

    一定要做正确的数据挖掘,数据发现,以及根据数据计算找到进化之路, 市场就是大数据,客户就是大数据,

  • 数据挖掘

    什么是数据挖掘 数据挖掘是在大型数据存储库中,自动地发现有用信息的过程。数据挖掘用来探查大型数据库,发现先前未知的...

  • [Caravel]Airbnb开源数据探查与可视化平台

    Airbnb开源数据探查与可视化平台Caravel - IT经理网http://www.ctocio.com/cc...

  • 二十九、Elasticsearch高手进阶相关技术分析

    1、term vector深入探查数据的情况(1)、term vector介绍获取document中的某个fiel...

网友评论

    本文标题:一定要做 "数据探查"!

    本文链接:https://www.haomeiwen.com/subject/hpurhrtx.html