赞
踩
关于ODS层是否做数据清洗一直是存在争议的,但有一点是可以确定的,对于比较重的清洗工作是要留到后面数仓的ETL过程中进行处理。
但是,有这么一种情况:我们在长期的生产实际过程中,发现部分已知的数据问题的处理可以通过自动化的方式来处理,这种方式通常在数据入库之前,做额外的加工处理后再做入库操作。
数据清洗的主要工作是处理那些不符合要求的数据,从而提升数据质量,比如一些常见的问题:错误的数据、重复的数据
- 错误的数据
这种错误通常是业务系统处理不够健全造成的,比如字符串数据后面有回车空格、日期格式不正确、日期越界等等,这些问题如果不在ODS层做处理,后续的解析处理过程中也是要留意处理的
- 重复的数据
例如,一些前端系统迁移过后的新老表融合可能会存在大量的重复历史数据,这也可以在数据清洗这一步骤中完成消除重复数据的操作。需要注意的是,在数据清洗后还需要对ODS的数据做稽核,还需要对脏数据做稽核校验,脏数据的校验主要集中在数据量上,如果数据量波动特别大则需要人工介入处理。
其实,在大多数的情况下,是不需要做数据清洗处理的,可以把这个清洗环节放到后面的明细层ETL中进行处理。
我的建议是尽可能少作清洗,若是在这一层作清洗,建议只在几种状况下作清洗:
- 简单的数据标准化,好比表和字段命名
- 默认值填充,好比性别为空的都补0
- 清洗规则十分明确,好比说说字段拆解:接收到的json数据拆成多个明确字段
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。