ods数据清洗

0x01 讨论

问题: ODS 有的公司说几乎不处理,有的说这一层要作第一次数据清洗,你们怎么看?json

回答一: 我感受基本的监控要作,而后字段类型,命名统一能够作,ip转地址也能够作。复杂的 不太容易作,数据源的接入不必定均可控。设计

回答二: 看数据的规整性吧。有的公司业务方数据很规整。ODS层只用作简单的砍字段便可,有的业务数据不规整好比埋点类的那么不作清洗就确定不行了。有公司是从业务库直接到ODS,那么须要作备份, 有的是从业务库到汇总库再到ODS。那么汇总库就能够看做是备份了。ip

回答三: 我的以为ODS层的数据仍是须要清洗并存入到数据仓库比较合适。若是不清洗,是ETL任务的计算资源和计算时间的浪费。除非是有特殊须要,规定要原汁原味的“原始数据”。资源

0x02 补充

这个问题,从本质上来看,实际上是和分层的设计以及公司的业务场景相关的。监控

先抛开公司的业务场景来看ODS的设计,咱们实际上是但愿ODS的数据尽可能“原汁原味”,但又相对干净。那么,这个尺度或者说标准怎么来把握?简单来看,咱们会让ODS层的数据内容和粒度与原始数据一致,而后咱们会作表命名统1、字段命名统1、数据落地监控等内容。命名

而后对于数据清洗,居士我的建议是尽可能少作清洗,若是在这一层作清洗,建议只在几种状况下作清洗:数据

  1. 简单的数据标准化,好比表和字段命名
  2. 默认值填充,好比性别为空的都补0
  3. 清洗规则十分明确,好比说说字段拆解:接收到的json数据拆成多个明确字段

其他状况下不是不能作清洗,而是说尽可能少作清洗,由于一旦对原始数据稍做破坏,之后追查数据的成本会十分巨大。时间

当咱们明确ODS的职责后,再来看不一样公司的ODS设计。若是说数据源很干净,那么直接拿来就能够,基本不用处理。若是说数据源很混乱,并且清洗的规则十分明确,不会出现返工的状况,那么就能够在入ODS以前作一部分的清洗。备份


连接:https://www.jianshu.com/p/0a5bc1a4d60c
来源:简书
 co