维度建模--累积快照事实表

本文介绍了在维度建模中如何构建累积快照事实表。通过使用动态分区,确保数据的完整性和最新状态。在明细层,利用数据更新日期做分区,全量数据通过全连接进行更新。在汇总层,根据不同的时间周期如1d、1w、1m等,采用不同策略进行数据统计。同时,针对可累加和不可累加指标提供了处理方法。
摘要由CSDN通过智能技术生成

一、明细层

分区日期为终态业务过程日期,其余归档30001231分区
采用二级分区:
create table target_table(COL …) partitioned by (state string,dt string);
–partition(state=“3”,dt),表示state为静态分区,dt为动态分区,以src_table中的city字段为分区名

  1. insert overwrite table target_table partition(state=“3”,dt) select COL,‘yyyy-mm-dd’ from src_table;
    state和city均使用动态分区
  2. insert overwrite table target_table partition(state,dt) select COL,state,‘yyyy-mm-dd’ from src_table;

采用第1)种
终态分区日期
比如status 1 --发单 2 --接单 3 – 消单 4 – 服务中 5-- 完单
date_format(case when new.tms[‘3’] <> ‘1971-01-01’ then new.tms[‘3’]
when new.tms[‘5’] <> ‘1971-01-01’ then new.tms[‘5’]
else ‘3000-12-31’ end),‘yyyy-MM-dd’)

每次ods层来的是新增与变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科学的N次方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值