数据层 | 说明 |
ods 操作数据层 | 结构和源系统保持一致,原封不动的接入原始数据,按日期分区dt(格式:YYYYMMDD)进行存储。 |
dwd 明细数据层 | 和ods数据粒度一致,对数据进行清洗,新增标准编码,进行一定的维度退化,减少下游事实表和维表的关联; 基础数据模型新增 ds【业务日期】字段(格式:YYYYMMDD),一般取业务数据的创建日期进行处理得出; 主要包含: 1、基础数据模型 和ods表一一映射,如有代理主键字段,需要新增对应的仓库标准编码字段,如:ods表只有channel_id字段,对应dwd基础模型新增channel_code字段。 二级分区存储: 数据分区 dp(recent-近3年数据/history-3年前数据); 业务月份分区 dm(格式:YYYYMM),和ds逻辑一致,取YYYYMM部分。 2、单数据域宽表(关联)模型 不跨数据域,基于多张dwd基础数据模型进行关联计算产出的; 一般单分区存储:数据分区 dp (默认只存recent分区数据) 特定模型可自行新增二级分区,如:订单模型可新增 order_direction 分区,区分正、逆单 |
dws 汇总数据层 | 基于dwd数据,构建公共粒度的汇总宽表、明细事实宽表,提升模型的复用性,减少重复工作; 单分区存储:业务日期分区 ds(格式:YYYYMMDD); 无特殊要求情况下,默认数据源是 dwd中dp='recent' 的数据。 |
ads 应用数据层 | 主要是提供给数据产品和数据分析使用的数据,一般会存放在ES、Hbase、Mysql等系统中供线上系统使用,也可能会存在Hive或者 Clickhouse中供数据分析和数据挖掘使用; 单分区存储:业务日期分区 ds(格式:YYYYMMDD)。 |
dim 公共维度层 | 一般基于ods层数据加工生成,基于每个维度的业务含义,通过添加维度属性、关联维度等方式建立一致的数据分析维,为后续能获取到dim模型增量数据,dim层需有dt字段,取数据生效日期字段处理成YYYYMMDD格式。 主要包含:1、码表 如订单状态、券类型等,按日进行分区,每天全量存储,dt= T-1分区数据写完后,覆盖写入 dt = 'active' 分区,消费码表模型时,一般取dt = 'active' 分区数据即可; 单分区存储:dt 数据日期分区。 2、主数据 如商品、人员等,进行缓慢变化维处理,有数据生效开始日期 start_date(格式YYYYMMDD)、数据失效结束日期 end_date(格式YYYYMMDD),有效数据的 end_date 默认 ‘20991231’,消费主数据模型时,需要限定 业务日期ds 在 start_date 和 end_date 范围内 主数据类型表必须配一张不带scd后缀的T-1快照表 分区策略:scd后缀表,end_date作为分区 |
tmp 临时数据层 | 存放数据处理过程中需要的临时表,数据在每次脚本开始前进行清理。 |
离线数仓分层规范
于 2023-11-15 08:03:47 首次发布