没有合适的资源?快使用搜索试试~ 我知道了~
数仓链路保障体系与数据测试方法经验分享.docx
4 下载量 65 浏览量
2022-12-16
00:30:55
上传
评论 1
收藏 432KB DOCX 举报
温馨提示
试读
19页
数仓链路保障体系与数据测试方法经验分享.docx
资源推荐
资源详情
资源评论
数仓链路保障体系与数据测试方法经验 提
供导读
有赞数据报表中心为商家提供了丰富的数据指标,包括30+页面,100+数据报表以及400+ 不同类型
的数据指标,它们帮助商家更合理、科学地运营店铺,同时也直接提供分析决策方 法供商家使用。
并且,每天在跑的底层任务和涉及的数据表已经到达千级别。面对如此庞大 的数据体系,作为测试
如何制定质量保障策略呢?这篇文章将从:1.有赞数据链路、2.数 据层测试、3 ,应用层测试、
4 .后续规划这四个方面展开。
一、有赞数据链路1、数据链路介绍
首先介绍有赞的数据总体架构图:
数据自身检查,是指在不和其他数据比拟的前提下,用自身数据来检查准确的情况,属于最 基本的
一种检查。常见的自身检查包括:检查数值类指标大于0、比值类指标介于0-1范围。 这类基础规
那么,同数据完整性,也可以结合“数据形态工具”辅助测试。
举个例子,比方针对订单表,支付金额必然是大于等于0,不会出现负数的情况,编写sql:
select count(pay_price) from dw. dws_xx_order where par = 20211025 and pay_price<0
假设结果为0,说明支付金额都是大于0,满足预期;否那么假设count结果大于3说明数据存 在问
题。
4.2 表内横向数据比照表内横向比照可以理解为同一张表内,业务上相关联的两个或多个字段,他
们存在一定的逻 辑性关系,那么就可以用来做数据比照。
比方针对订单表,根据实际业务分析易得:针对任何一家店铺的任意一款商品,都满足订单 数 >二
下单人数,编写sql:
select kdt_id, goods_id, count(order_no), count(distinct buyer_id) from dw. dws
xxorderwhere par ='20211025'group by kdt_id, goods_idhaving count
(order_no)<count (distinct buyer_id) 假设查询结果不存在记录,那么说明不存在 订单数
〈下单人数,反向说明订单数》二下单人数,那么
符合预期;否那么假设查询结果的记录大于0,那么不符合预期。
4.3 表间横向数据比照表间横向比照可以理解为两张表或多张表之间,其中具有业务关联或者业务
含义一致的字 段,可以用来做数据比照:
同类型表之间比照:针对hive里的支付表A和支付表B,里面都有支付金额字段,那么同 样维度下的
表A.支付金额=表B.支付金额。
多套存储之间比照:比方有赞数据报表中心针对支付表,应用层存储分别用到了 mysql和 kylin,
用作主备切换,那么相同维度下的kylin-表A.支付金额=mysql-表B.支付金额。
多个系统之间比照:跨系统之间,比方有赞的数据报表中心和erm系统,两个系统都有客户 指标数
据,那么相同维度下的数据报表中心-表A.客户指标二erm-表B.客户指标。
我们深度剖析数据横向比照的底层逻辑,本质就是两张表的不同字段,进行逻辑运算符的比 较,也
比拟容易抽象成工具。目前有赞“数据比对工具”已经落地,下面给出我的一些思路:
输入两张表,分别设置两表的主键。
输入两张表中需要比照的字段,且设置比照的运算符,比方>、二、〈。
根据设置的规那么,最终数据比照通过、不通过的记录,落地一份可视化报告,测试人员可根 据报
告内容评估数据质量。
4.4 纵向数据比照纵向比照就是上下游的数据比拟,目的是确保重要字段在上下游的加工过程中没
有出现问
题。
比方数仓dw层存在订单的明细表,数据产品dm层存在订单数的聚合表,那么二者在相同维 度下的数
据统计结果,应该保持一致。
4.5 code review首先,在进行code review之前的需求评审阶段,我们先要明确数据统计的详细
口径是什么, 下面举两个实际的需求例子。
需求1:(错误例如)统计时间内店铺内所有用户的支付金额。问题所在:需求描述太过于 简洁,
没有阐述清楚数据统计的时间维度以及过滤条件,导致统计口径不清晰,要求产品明 确口径。
需求2:(正确例如)有赞全网商家域店铺维度的离线支付金额。支持自然日、自然周、自 然月。统
计时间内,所有付款订单金额之和(剔除抽奖拼团、剔除礼品卡、剔除分销供货订 单)。
明确需求之后,下面详细介绍code review的一些常见关注点:
1)关联关系&过滤条件关联表使用outer join还是join,要看数据是否需要做过滤。
关联关系on字句中,左右值类型是否一致。
关联关系如果是1: 1,那么两张表的关联键是否唯一。如果不唯一,那么关联会产生笛卡 尔导致
数据膨胀。
剩余18页未读,继续阅读
资源评论
zzzzl333
- 粉丝: 689
- 资源: 7万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- projectData
- SQL Server 性能监视器,它旨在提供开箱即用的全面监控,并作为您自己的项目或应用程序的监控框架 它在本地数据库中收集性能
- Python 程序语言设计模式思路-并发模式:线程池模式:管理线程池,优化线程创建和销毁
- 股事汇投资工具-实时新闻、财经日历、市场快讯、持仓查询、外汇兑换、换算工具、大盘云图、江恩工具、指标检测等
- webrtc-streamer
- html+css+'青春献礼二十大 红色旅游助乡村'为主题的网页设计 2022年参与学校网页设计比赛时完成的
- Unity 模型布尔运算插件
- eCANtools工具,CAN资料包
- 129335283047061xiazaigongjuxiang(去重软件).apk
- Android环境检测工具,检测ksu,lsp,magisk等
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功