本文主要是介绍大数据测试梳理及未来趋势探索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据即资产,数据质量是数据的生命线,有了数据+模型+算力,便有了持续将数据应用于业务场景的能力。而成百上千张库表是否每日按时生成、生成的数据字段是否完整、生成数据的逻辑是否正确、生成数据分布是否合理、生成数据是否一致都会影响业务使用,而这些便是数据质量的范畴。
1.数据流向简总
1.1数据基本流向
数据从生产到应用,主要经历数据源、数据清洗、数据计算、数据中间件再到数据应用5大环节。用户直观感受的数据,都在数据应用层。前4个环节都是为了得出最后1层的数据结果。
1.2简总数仓各层含义:
ODS:数仓最底层也叫贴源层,数据无任何信息损失及加工逻辑存储于ods层,保持数据最原始结构,包括脏数据在内。
DWD:数据预处理,需要对数据进行进行统一的数据清洗、归一,例如脏数据处理、字段缺失、格式错误、乱码、空值等,将数据变成格式化或半格式化数据,比如字段格式处理、或者转化为parquent列式存储等,
DWS(中间层):很重要的一层。当所有的数据都存好了,处理完脏数据之后,通过此层将数据通过不同主题进行汇总存储,通常说得业务域,比如:订单域、采购域、库存域、商品域、用户域、物流域等等,可冗余尽可能多的信息,对于提高下游计算的速度、减少运算数据量、简化业务逻辑、合并计算单元等具有特别大的好处
DM:维度信息:来源:dws层数据表,处理:多维度整理数据,用于多个维度的快速查找、分组和排序等
ADS:数据应用层,也是数仓最上层数据,高度汇总数据,针对公司业务需求,通过其它层数据的统一加工和处理,计算出可直接导入到服务去应用的数据,此层代表了与最终业务数据的一致性。
2、数据保障
数据生产前的数据验证,是保障数据质量的重要阶段,也是提前规避问题的主要环节。做好数据验证,数据验证包含数据梳理、数据测试、过程管理3个方面
2.1数据梳理
2.2数据测试
数据测试,主要包括项目功能需求理解、分析方案梳理、数据流向梳理、开发代码走查、数据表验证几个环节。以数据表验证为例,分别从一下维度验证:
2.1.1完整性
- 数据量是否完整
分区完整性验证
select a.dataday from
(select dataday from dim.dim_day_week where year>='2014' and year<='2022' and dataday<='2022-06-21' and dataday >='2014-05-30') a left join
(select distinct dt from ads.ads_sd_sales_volume_amount_cost_profit_d) b on a.dataday = b.dt where b.dt is null;
- 所需字段是否完整
表结构检查:如下表:
srv_supply_chain_sku_replace_d 对应替换关系的sku
CREATE TABLE `srv_supply_chain_sku_replace_d` (
`org_sku_code` varchar(100) DEFAULT NULL COMMENT '原始的sku商品',
`org_sku_name` varchar(100) DEFAULT NULL COMMENT '原始的sku商品',
`sku_name` varchar(100) DEFAULT NULL COMMENT '商品名称',
`sku_code` varchar(100) DEFAULT NULL COMMENT '商品sku',
`replace_type` int(10) DEFAULT NULL,
`replace_name` varchar(100) DEFAULT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4
3. 字段内容是否完整,空值率等
判断为null
--空值判断 SELECT sku_id,sku_name FROM xxx.ads_xxx_sku WHERE pt = '20221211' and (sku_id IS NULL OR sku_name IS NULL)
判断是否为空
select sku_id,sku_name from xxx.ads_xxx_sku where pt='20221211'
这篇关于大数据测试梳理及未来趋势探索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!