今天感觉效率有点低,可能是太热了
【100】
开始不懂了
https://www.bilibili.com/video/BV1rL411E7uz?t=1193.7&p=100
什么新增,什么新增和变化
【101】退单
开头就说不适合做事务型
https://www.bilibili.com/video/BV1rL411E7uz?t=26.6&p=101
说退单是有周期性的。应该做累积型快照表
【102】6.2.4 加购事实表(周期型快照事实表,每日快照)
【103】优惠券领用事实表(累积型快照事实表)
第三类,第一类事务,第二类周期
1**)事务型事实表**
以每个事务或事件为单位,例如一个销售订单记录,一笔支付记录等,作为事实表里的一行数据。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
2**)周期型快照事实表**
周期型快照事实表中不会保留所有数据,只保留固定时间间隔的数据,例如每天或者每月的销售额,或每月的账户余额等。
例如购物车,有加减商品,随时都有可能变化,但是我们更关心每天结束时这里面有多少商品,方便我们后期统计分析。
3**)累积型快照事实表**
**累计快照事实表用于跟踪业务事实的变化。**例如,数据仓库中可能需要累积或者存储订单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪订单声明周期的进展情况。当这个业务过程进行时,事实表的记录也要不断更新。
特点有很多时间字段
https://www.bilibili.com/video/BV1rL411E7uz?t=43.1&p=103
coalesce
https://www.bilibili.com/video/BV1rL411E7uz?t=799.0&p=103
coalesce(date_format(used_time,‘yyyy-MM-dd’),date_format(expire_time,‘yyyy-MM-dd’),‘9999-99-99’)
逻辑
new表里有就用new的,没有就用old的
https://www.bilibili.com/video/BV1rL411E7uz?t=1359.8&p=103
【105】
Set不方便找到字段,map可以
https://www.bilibili.com/video/BV1rL411E7uz?t=1023.7&p=105
select order_id, str_to_map(concat_ws(',',collect_set(concat(order_status,'=',operate_time))),',','=') tsfrom ods_order_status_logwhere dt='2020-06-15'group by order_id