一. 数仓分层
数据仓库在构建过程中通常都需要进行分层处理。
业务不同,分层的技术处理手段也不同,数仓分层原因:
1.把复杂问题简单化,每一层只处理简单的任务,方便定位问题;
2.减少重复开发,规范数据分层,通过中间层数据能够减少重复计算,且增加计算结果的复用性;
3.隔离原始数据,不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。
数仓一般分为ODS层,DW层,ADS层
二.ODS层
1.ods层概念
数据运营层:Operation Data Store 数据准备区,也称为贴源层。数据源中的数据,经过抽取、洗净、传输,也就是ETL过程之后进入本层。
该层的主要功能:
- ODS是后面数据仓库层的准备区
- 为DWD层提供原始数据
- 减少对业务系统的影响
为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可
2.数据抽取方式
添加数据源,通过同步任务在ods层建表,将业务系统的数据抽取到ods表中
同步任务分为整库同步和数据同步(单表同步)
三.DW层
1.dwd层概念
数据细节层:data warehouse details,DWD
该层是业务层和数据仓库的隔离层,保持和ODS层一样的数据颗粒度;主要是对ODS数据层做一些数据的清洗和规范化的操作,比如去除空数据、脏数据、离群值等。
为了提高数据明细层的易用性,该层通常会才采用一些维度退化方法,将维度退化至事实表中,减少事实表和维表的关联。
2.数据抽取方式
通过SQL语句将ods层表数据经过清洗后导入到dwd层
数据脱敏(姓名,手机号,邮箱,身份证号,