数据清洗规范和数据质量校验

数据清洗规范

1.空值处理:一般使用默认值 

        

1)汇总类指标的空值:空值处理,填充为零。

         2)维度属性值为空:在汇总到对应维度上时,对于无法对应的统计事实,记录行会填            充为null。

         3)空串例如“ ”,且不是汇总类指标置为null。

  1. 数据格式内容清洗:例:yyyy-MM-dd

数据源存在问题,如果是由人工收集或用户填写而来,很大可能性在格式和内容上存在问题,格式内容问题存在以下几类:

1)时间、日期、数值、全半角等显示格式不一致

这种问题通常与数据源有关,在整合多来源数据时也有可能遇到,将其处理成一致的某种格式即可。

日期统一置为yyyy-MM-dd HH:mm:ss 根据业务需求选择yyyy-MM-dd 与yyyy-MM-dd HH:mm:ss。

                  注:有的字段类型为datetime 会自动补全,注意转换字段类型。

                  例如:credit_xycnlyjnxx(信用承诺履约践诺情况信息)字段LXJNQKRDRQ(履行践         诺情况认定日期) 数据格  式为yyyy-MM-dd,需要进行转化。

2)存在不该存在的特殊字符

某些内容可能只包括一部分字符,比如身份证号是数字+字母,姓名等等,最典型的就是头、尾、中间的空格,也可能出现姓名中存在数字符号、身份证号中出现汉字,特殊符号等情况。这种情况下需要找出可能存在的问题,并去除不需要的字符,可以去除左右出现的空格,制表符和其他不必要的特殊符号。如果内容中出现空串或特殊字符,需记录下来,并商讨清洗规则。

3.枚举值处理:统一枚举值信息 ,如性别 男 1 女 2

         枚举值和码表值值域范围很小,需要根据经验补全码表,补全的码表需要记录。

4.字段类型处理:比如did字段varchar()

         类型统一,注意mysql与hive转换以及区别。

5.注释处理:表名,字段名

         目前表中有少部分缺少注释,需要讨论并根据经验定义标准。

6.数据单位统一

例如金额,需要定义与讨论  decimal(?,?)。

7.逻辑错误 ,答非所问,特殊处理,自定义清洗规则

存在数据答非所问情况,如何处理?例如企业名称,录入信息为街道,数字,特殊符号等。使用简单逻辑进行推理就可以直接发现数据问题并进行合适的处理,以防影响分析结果。主要包含以下几个步骤:

  1. 不合理值处理。
  2. 修正矛盾内容,内容与该字段应有内容不符。

姓名写了性别,身份证号写了手机号等等,均属这种问题。 但该问题特殊性在于:并不能简单的以删除来处理,因为成因有可能是人工填写错误,也有可能是数据源没有校验,还有可能是导入数据时部分或全部存在列没有对齐的问题,因此要详细识别问题类型。不好处理,不可以随意删除,故而需要做记录并思考如何处理。

  1. 缺失值处理
  1. 对每个字段都应该有缺失比例以及饱和度考量,按照饱和度和重要性,分别确定策略。
  2. 根据业务需求,基于数据重要性,数据不可以随意删除。
  3. 填补缺失字段

以业务知识或经验推测填充缺失数据。

以同一指标的计算结果(均值、中位数、众数等)填充缺失值。

  1. 重新取数

如果某些指标非常重要又缺失率高,那就需要和取数人员或业务人员了解,是否有其他渠道可以取到相关数据。

数据质量校验分为以下方面:

1.完整性

         完整性是指数据的记录和信息是否完整、不缺失。数据的缺失包括数据记录的缺失(表行数异常)和记录中某字段信息的缺失(字段出现空值),检核对象是否存在为空。

2.准确性

         准确性是指数据记录中信息和数据是否准确、不存在错误或异常。例如,出现负数,答非所问数据,特殊符号,则明显是错误数据。

  1. 一致性

对于不同的业务流程和节点,同一份数据必须保持一致性。不可以同一个意义的数据,出现两种形式。

  1. 有效性

         是否满足长度约束,值域约束,检核对象的码值是否在对应的码表内,取值范围,检查对象取值是否在预定的范围内。

5.及时性

         及时性主要体现在最终应用层的数据可以及时产出。为保证及时性,需要确保整条数据加工链路上的每个环节都可以及时产出数据。

6.规范性

         有没有遵循语法规则定义,时间格式定义为 yyyy-MM-dd。

7.唯一性

         唯一性约束,同一客观实体在表中是否重复记录,是否出现两次以上。

你可能感兴趣的:(数据治理,大数据)