离线数仓分层规范

数据层

说明

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

临时数据层

存放数据处理过程中需要的临时表,数据在每次脚本开始前进行清理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离线数仓分层设计通常包括贴源(ODS)、明细(DWD)、维度(DIM)、轻度聚合(DWS)、主题(DWT)、数据中间(DWM)和结果展示(ADS)\[1\]。 贴源(ODS)是数仓中最底次,用于接收和存储原始数据。在这一,数据被抽取、清洗和转换为可用于后续处理的格式。 明细(DWD)是在贴源之上的一,用于存储经过处理和加工的原始数据。在这一,数据被进行清洗、整合和转换,以满足业务需求。 维度(DIM)是用于存储维度数据的次。维度表是基于原始数据提取公共指标进行维度建模的结果\[2\]。在这一,维度数据被提取出来,并与事实数据进行关联。 轻度聚合(DWS)是在明细之上的一,用于存储经过聚合的数据。在这一,数据被进行聚合操作,以提高查询性能和减少数据量。 主题(DWT)是在轻度聚合之上的一,用于存储按照业务主题组织的数据。在这一,数据被按照业务主题进行组织和汇总,以支持特定的分析和报表需求。 数据中间(DWM)是用于存储数据处理过程中的中间结果的次。在这一,数据被用于支持数据处理的各个阶段,例如数据清洗、转换和集成。 结果展示(ADS)是数仓中最顶次,用于存储最终的分析结果和报表数据。在这一,数据被用于生成各种分析报表和可视化展示。 离线数仓分层设计可以根据具体业务需求和数据处理流程进行灵活调整,但通常遵循以上的基本分层结构\[1\]。 #### 引用[.reference_title] - *1* *2* [离线数仓分层(基础)](https://blog.csdn.net/wind96/article/details/127641942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [离线数仓 (八) --------- 数仓分层](https://blog.csdn.net/m0_51111980/article/details/127491547)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值