实例信息名称:《公交学员信息》
数据来源:http://opendata.chinadep.com
记录数:46955条
数据字段名称:
1.学员编号 2.姓名
数据字段类型:
1.VARCHAR(100) 2. VARCHAR(100)
以下将介绍本人是如何使用开发技术,编写脚本,配置应用程序,来实现无人值守模式修复“公交学员信息”集中多个数据质量问题,推出数据治理方案和无人值守作业理念。
一.数据修复步骤
第一步:数据入库(见图1)(编写和执行3行代码)
第二步:配置数据探查程序检测数据 (运行工具3组)
发现3个数据质量问题(见图2):
1.有1名学员没有姓名。
2.有11454名学员没有学员编号。
3.姓名从2位到6位字符不等。
第三步:将有这张有数据质量问题的表复制一张表,去对它的副本进行数据质量修正,原表不要动。(见图3)(编写和执行1行代码,检测代码1行)
第四步:将空值的姓名数据填充为'不完整数据' ,修复1条记录。(见图4)(编写和执行1行数据修复代码,检测代码1行)
第五步:编写代码,生成10位不重复的自动生成数串去填充学院编号缺省的数据,修复11454条记录。(见图5)
(编写和执行17行数据修复程序,检测代码1行)
NULL类脏数据总共修复11455条,数据集中无NULL数据。(见图5)
第六步:查看学院姓名重复的数据。(见图6)(编写和执行1行数据清洗代码)
去除重复数据,共清洗1870条重复记录。(见图6)(编写和执行3行代码)
第七步:将[学员编号]字段类型改为nvarchar(255) not null 。(见图7)(编写和执行1行数据规范代码)
第八步:配置[学员编号]为具有唯一性约束的主键。(见图7)(编写和执行1行数据规范代码)
第九步:将姓名中的拼音和空格全都用空字符代替。
(1)再复制一张新表,用于修复[姓名]字段中的数据质量问题。(去重复后的记录数是45085条)(见图8)(编写和执行1行代码)
(2)将姓名中的空格全都删除。(清洗结果见图8)(编写和执行1行数据清洗代码)
(3)清洗姓名字段中的非中文字符。(清洗结果见图8)(编写和执行16行数据清洗代码)
二.数据质量修复总结:仅仅两个字段5万条记录不到的的数据集出现了4个数据质量问题,通过以上9步的数据质量的修复,修复了1条缺省姓名记录,11454条缺省学院编号记录,清洗1870条重复记录,修正1031条姓名不规范的记录。
三.数据治理方案:数据治理从两个方向,第一,从更新记录治理,其中又分为两块阵地,第一是数据库端,比如我将这张表配置唯一性约束,今后重复的学员编号就无法提交到数据库。第二个阵地是网页端,网页端可以对中文姓名的录入规则进行限制。第二个治理方向就是治理历史数据,我前面大部分做的就是清洗历史数据。在网页端或者应用系统端、移动端限制脏数据提交,同时清理历史数据,这样我们有质量问题的数据就会越来越少。
四.无人值守作业理念:今后记录更新时这些步骤它都可以打包成应用程序后者脚本集部署起来,自动来识别这张表的质量问题,自动运行,不需要人工再干预,因为第一次只要我通过计算机语言和计算机交流清楚就可以了,我开发以上代码和数据探测程序的目的就是让数据治理的实现智能化,人工作业某些工作的次数是不可计算的,而脚本开发技术中的人工作业次数是可预测的,这就是为什么要有编程这个技术,简单通俗的程序只要编写一遍,今后一劳永逸,而同样的事人工需要反反复复的重复劳动,这也就是程序代码它的价值所在。
相关专业资格认证(见图9)。
|