袋鼠云数栈 3.0 版本开始实现商业化以来,已经应用到教育行业、政府行业、旅游行业的浙江大学、山西商务厅、中金易云、京东方、杭州互联网法院、西溪国家湿地公园、西湖风景名胜区、国家电网、云南中烟、常州旅游商贸高等职业技术学校等众多客户,帮助客户搭建和升级大数据计算开发平台,管理大规模数据资源,用工具化和可视化的方式高效进行数据治理,对数据资产进行创新应用,在复杂多元的业务场景中发挥数据价值。
在客户实际使用数栈的过程中,也有一些用户对数栈的功能、使用、价值提出了不少疑问,袋鼠云数栈产品团队将这些问题都一一认真收集下来,并收录在“栈问栈答”系列专栏里,和所有的数栈用户分享,敬请期待。
栈问栈答 · 数据质量
使用袋鼠云数栈的某教育行业客户,在之前的信息化过程中建设了多个系统,已经意识到自身数据孤立的现状,面对 TB 级的数据量,需要更高效的方式进行数据治理和分析,为业务方提供高质量数据。
其实,数据治理不仅仅是教育行业用户的痛点,同样也是其他行业进行大数据平台建设和数据应用,最亟需解决的难题。
针对这一问题,袋鼠云数栈基于十年实践经验沉淀的多种校验规则,打造了完整的全流程数据质量闭环管理机制,同时支持数据迁移 & 逻辑变更的双表逐行校验场景。
类似以下问题,袋鼠云数栈都能统统搞定!
A:有很多 ETL 任务,任务运行正常,由于数据源有变动,或开发修改了代码,测试不充分,导致数据经常出问题。最后还是业务方发现后,才反馈给开发排查原因。
使用数栈
可对关键任务配置数据质量校验规则,任务跑完产出数据,并经过质量校验通过后,才流入到下游,给到数据需求方。
B:开发人员维护 ETL 任务,由于业务规则的变更或者新需求的迭代,需要经常修改 ETL 任务逻辑。每次修改后比对数据,耗费大量的时间。
使用数栈
通过数据质量产品的双表校验功能,自动比对修改前,修改后的数据,输出比对结果,无需人工干预。
C:需要把在某平台运行的任务迁移到另外一个平台,同时保证迁移前后数据的一致性。以往则需要人工或写程序进行校验,真的是费时费力。
使用数栈
通过数据质量产品的双表校验功能,自动比对迁移前后的两个平台的数据,输出比对结果。
Vol.1 栈问栈答
栈问: 在数据抽取的过程中,数栈能否对数据的正确性进行判断?
栈答: 对这个问题,数栈可以提供 2 个解决方法:一种是在数据同步环节就进行脏数据相关的配置;还有一种是在数据加工全流程环节进行数据质量监控的配置;
也就是说,从数据的同步到整个数据加工全流程,袋鼠云数栈都非常重视数据质量和数据治理,保障用户数字化建设过程数据资产的高质量。
解法一、脏数据配置
在数据同步执行的过程中可能会出现因主键冲突、格式转换错误等各种原因造成部分数据无法正常写入,不能被正常写入的数据即被视为“脏数据”。
脏数据配置在数据同步配置模块中,在数据同步任务的通道控制步骤中,可配置是否需要记录脏数据,并可指定存储脏数据的表名、生命周期。
袋鼠云数栈 - 脏数据配置模块
栈问: 如何查看脏数据,对数据质量做到心中有数?
栈答: 在数栈 - 任务管理 - 脏数据管理模块中可以查看脏数据的产生趋势、产生脏数据最多的任务,以及每一张产生脏数据表的情况:
数栈 - 脏数据查看
脏数据产生趋势
选中某个任务后,可以查看此任务在最近一段时间产生脏数据的数量,支持最近 3 天、7 天、30 天、60 天的数据查看。
脏数据产生 TOP30 任务
通过观察产生脏数据数量较大的任务,可以针对性的排查此任务的配置信息、源数据库的数据质量等问题,及时解决问题。
解法二、数据质量配置
作为数据资产管理的一部分,数据质量的保障与提升是一个大数据平台所需的必备功能。通常含义的数据质量包括及时性、完整性、一致性、有效性、准确性。
数据质量模块可以根据不同的业务场景,针对数据表提供表行数、空值数、空值率、重复数、重复率等二十余种统计函数,校验方法支持固定值检测、1 天波动检测、7 天波动值变化检测、30 天波动值检测、7 天平均波动检测、30 天平均波动检测,告警阀值支持灵活的自定义。
栈问: 如何使用数栈创建质量监控任务?
栈答: 创建质量监控任务分为以下 3 个步骤:
数栈 - 创建数据质量监控任务
Step1: 选择数据源,选择需要校验的表
点击顶部菜单的规则配置 - 新建监控规则,进入配置页面,选择需要进行检测的数据表(表名为 muyun_test),点击下一步。
Step2: 针对全表、每个字段配置校验规则
进入监控规则步骤,点击添加字段规则,并选中 id 字段,统计函数选择空值数,校验方法为固定值,阈值配置为 =0,点击保存,并点击下一步。
Step3: 调度周期配置
选择调度周期为天,其他参数无需修改,点击新建,即可完成配置。
栈问: 我们数据库一部分用的是 Oracle,一部分是 MySQL,你们数栈支持哪些数据源的校验和数据质量管理?
栈答: 数栈数据质量模块支持 MySQL,Oracle,SQL Server,
PostgreSQL,Hive,MaxCompute 等多种数据源,满足大多数场景下的质量校验需求。
栈问: 数栈的数据校验颗粒度到什么级别?
栈答: 基于阿里数据生产的实战经验,数栈内置 20 余种校验规则,支持表级、字段级 2 类规则,并提供字段级、表级校验报告,具备历史数据统计功能,辅助用户定位数据质量的问题根源。